-1
我試圖下載名爲「public_html」的文件夾,但它沒有在我的程序中做任何事情,這裏是我的代碼。C++ FTP WinINet,無法從FTP服務器下載文件夾
int main(){
cerr<<"Hello"<<endl;
string spath = "C:/Users/"+GetUser()+"/Desktop";
spath += str;
LPCSTR path = spath.c_str();
HINTERNET hInternet = InternetOpen(NULL, INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0); // Initialization for WinInet Functions
if (!hInternet) { cerr<<"error code is "<<GetLastError()<<"\n";
system("pause");
return 1; }
// Starts a session in this case an FTP session
HINTERNET hFtpSession = InternetConnect(hInternet,IP,INTERNET_DEFAULT_FTP_PORT,User,Pass, INTERNET_SERVICE_FTP,INTERNET_FLAG_PASSIVE,0);
if(!hFtpSession) {
InternetCloseHandle(hInternet);
cerr<<"error code is "<<GetLastError()<<"\n";
system("pause");
return 2;
}
FtpGetFile(hFtpSession, str, path, false, NULL, FTP_TRANSFER_TYPE_BINARY, NULL);
// Uploads the file C:\\Test.txt onto the FTP server as Test.txt
InternetCloseHandle(hFtpSession); // Close hFtpSession
InternetCloseHandle(hInternet); // Close hInternet
return 0;
}
這個工程,當我一次下載單個文件,但不是當我做它與文件夾。爲什麼不?你最終沒有理解什麼是真正發生的事情你的機器上,並不能很容易地確定哪些功能:BTW
LPCSTR str = "/public_html";
因爲這不是FTP的工作原理。 –
@ MahmoudAl-Qudsi不只是這麼說,你可以解釋我爲什麼或什麼做錯了,或者如何解決它。 : – user2635579
因爲它不是[FTP標準](http://www.ietf.org/rfc/rfc959.txt)的一部分。您必須輸入目錄並手動遞歸獲取所有文件。 –