Wysmażyłem sobie taki kod:
#include <windows.h>
#include <tlhelp32.h>
#include <tchar.h>
#include <stdio.h>
#include <wininet.h>
#include <ctime>
#include <iostream>
#pragma comment(lib, "wininet")
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
char* appdata = getenv("APPDATA");
char* truepath = strcat(appdata, "\\plik.txt");
HINTERNET hInternet;
HINTERNET hFtpSession;
hInternet = InternetOpen(NULL,INTERNET_OPEN_TYPE_DIRECT,NULL,NULL,0);
hFtpSession = InternetConnect(hInternet, "host", INTERNET_DEFAULT_FTP_PORT, "login", "haslo", INTERNET_SERVICE_FTP, INTERNET_FLAG_PASSIVE, 0);
FtpPutFile(hFtpSession, truepath, "plik", FTP_TRANSFER_TYPE_BINARY, 0);
InternetCloseHandle(hFtpSession);
InternetCloseHandle(hInternet);
return 0;
}
I wszystko ładnie działa. Problem pojawia się, kiedy chcę przesłać kolejny plik.
Dodaję linie:
char* truepath2 = strcat(appdata, "\\plik2.txt");
i
FtpPutFile(hFtpSession, truepath2, "plik2", FTP_TRANSFER_TYPE_BINARY, 0);
Wtedy nie wysyła się nic.
Macie może jakieś rady jak to zrobić?
std::string path(std::string(getenv("APPDATA"))+"\\plik.txt");