C语言+API操作FTP下载文件

工作中需要用到程序更新,从FTP上下载文件是比较方便的。写个日志总结一下昨天的学习情况:

句柄的定义

HINTERNET hConnect ;

连接FTP操作,需要定义一个HINTERNET句柄。使用InternetOpen函数进行初始化句柄。

创建FTP会话

使用InternetConnect函数,连接到FTP,要用到InternetOpen函数初始过的句柄。

设置当前FTP的目录

FtpSetCurrentDirctory函数,传入地址,支持多级子目录,可以使用"/soft/tool/"这样的多级目录。

下载文件

FtpGetFile 函数,可以直接下载,或者使用FtpOpenFile打开文件,然后使用InternetReadFile读入缓冲区

遍历文件

使用2个函数来操作,FtpFindFirstFile调用一次,然后调用InternetFindNextFile进行循环,只到返回FALSE,表示没有文件了。

遍历的时候,要注意的问题是,一个FTP 会话句柄,如hSesseion进行过一次遍历后,要调用closehandle关闭,否则继续进行遍历时会出错。

知道这一要点后,要进行递归遍历文件夹中的所有文件总数,问题就变得简单了。

总结,FTP的API函数操作还容易弄懂的,做了一个小小的程序更新软件,方便自己的工作 。

C语言+API操作FTP下载文件

你可能感兴趣的:(下载文件)