C++上传文件到ftp

Iva*_*kov 4 c++ ftp

我是编码新手,在将名为“ test.txt ”的文本文件上传到 ftp 服务器时遇到问题。

这是我的代码:

void nointernet()
{
std::cout << "No internet connection." << std::endl;
}

int upload()
{
HINTERNET hInternet = InternetOpen(NULL, INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
if (!hInternet)
{
    nointernet(); 
}


HINTERNET hFtpSession = InternetConnect(hInternet, "FTPHOST", INTERNET_DEFAULT_FTP_PORT, "FTPUSER", "FTPPASS", INTERNET_SERVICE_FTP, INTERNET_FLAG_PASSIVE, 0);
if (!hFtpSession)
{
    InternetCloseHandle(hInternet);
    nointernet(); 

}

FtpPutFile(hFtpSession, "D:/test.txt", "test.txt", FTP_TRANSFER_TYPE_BINARY, 0); 
std::cout << "File Uploaded." << std::endl;
InternetCloseHandle(hFtpSession); 
InternetCloseHandle(hInternet); 
return 0;
}

int main() {
upload();
return 0;
}
Run Code Online (Sandbox Code Playgroud)

欢迎任何反馈。

Iva*_*kov 6

我解决了。如果有人感兴趣的话,这是代码:

#include <wininet.h>
#pragma comment(lib, "Wininet")

int upload()
{
    HINTERNET hInternet = InternetOpen(NULL, INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
    HINTERNET hFtpSession = InternetConnect(hInternet, "HOST", INTERNET_DEFAULT_FTP_PORT, "USER", "PASS", INTERNET_SERVICE_FTP, INTERNET_FLAG_PASSIVE, 0);
    FtpPutFile(hFtpSession, "C:/test.txt", "/test.txt", FTP_TRANSFER_TYPE_BINARY, 0);
    std::cout << "File Uploaded." << std::endl;
    InternetCloseHandle(hFtpSession);
    InternetCloseHandle(hInternet);
    return 0;
}

int main() {
    upload();
    return 0;
}
Run Code Online (Sandbox Code Playgroud)