我正在创建一个从FTP服务器下载文件的程序。我想显示用户下载了多少字节的进度。我试过搜索但我找不到任何东西。首先,我的计划是使用fstream获取文件大小,但后来我意识到我不能同时共享2个进程。
答案 0 :(得分:0)
我假设您正在使用FtpGetFile(..)
从FTP服务器下载文件。这是下载文件的简单方法,它不会提供有关已经下载了多少字节的信息,而且您几乎无法控制该函数的行为(例如,根据用户请求取消下载?)。但是,为了快速测试,它非常有用。
要监控下载进度,请执行以下操作:
FtpFindFirstFile
确定远程文件的大小。FtpOpenFile
打开远程文件。CreateFile
创建本地文件。InternetReadFile
从远程文件中读取一些字节。InternetReadFile
检测错误的返回值和错误代码以及传输是否完成。WriteFile
将这些字节写入本地文件。CloseHandle
关闭本地文件。InternetCloseHandle
关闭远程文件。如果您需要更多帮助,我可以提供一些代码来执行此操作...