我写了下面的代码从指定的FTP服务器下载文件, 问题是每当我修改FTP服务器中的文件编程没有下载修改过的文件时,它仍在下载旧文件, 我认为这是因为缓存,我用谷歌搜索但没有得到答案 我在带wininet的windows中使用gcc编译器。
using namespace std;
char USER_NAME[100]="test",
PASSWORD[100]="test",
HOST_NAME[100]="localhost";
int main()
{
while(1){
int t=0;
int z=0;
HINTERNET hint,hftp;
z=DeleteFile("aaa.txt");
cout<<"file status="<<z<<endl;
Sleep(5000);
hint = InternetOpen("FTP",INTERNET_OPEN_TYPE_PRECONFIG,0,0,INTERNET_FLAG_ASYNC);
hftp = InternetConnect(hint,"localhost",INTERNET_DEFAULT_FTP_PORT,USER_NAME,PASSWORD,INTERNET_SERVICE_FTP,INTERNET_FLAG_PASSIVE,0);
t=FtpGetFile(hftp,"/config/config.txt","aaa.txt",FALSE,FILE_ATTRIBUTE_NORMAL,FTP_TRANSFER_TYPE_BINARY,0);
printf("//t value=:%d\n",t);
InternetCloseHandle(hftp);
InternetCloseHandle(hint);
Sleep(20000);
}
}
我在两种情况下都下载了三次文件。