Wygląda na to, że Twój kod działa poprawnie. Sprawdź czy na Twoim serwerze ftp znajduje się plik który chcesz ściągnąć, czyli "program.txt", linijkę wcześniej wgrywasz plik "log.txt", to zamierzone?
Jak definiujesz ścieżki jako string, pamiętaj, że znak '\' to znak specjalny w ciagach znakowych w C\C++.
Poniższy kod powienien zadziałać.
void FileSubmit()
{
char *user = "user";
char *pass = "pas";
char *ftpserver = "host";
HINTERNET hInternet;
HINTERNET hFtpSession;
hInternet = InternetOpen(NULL, INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
hFtpSession = InternetConnect(hInternet, ftpserver, INTERNET_DEFAULT_FTP_PORT, user, pass, INTERNET_SERVICE_FTP, 0, 0);
if (FtpPutFile(hFtpSession, "C:\\kl\\kl-log.txt", "logs.txt", FTP_TRANSFER_TYPE_ASCII, 0) == TRUE){
cout << "Wyslano plik! " << endl;
if (FtpGetFile(hFtpSession, "logs.txt", "C:\\Users\\Skymax\\Desktop\\logs.txt", false, NULL, FTP_TRANSFER_TYPE_BINARY, 0) == TRUE){
cout << "pobrano plik" << endl;
Sleep(1000);
InternetCloseHandle(hFtpSession);
InternetCloseHandle(hInternet);
}
else {
cout << "Nie pobrano pliku!" << endl;
}
Sleep(1000);
InternetCloseHandle(hFtpSession);
InternetCloseHandle(hInternet);
}
else{
cout << "Nie wyslano pliku!" << endl;
}
}