工作中需要用到程序更新,从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语言使用win32API调用命令行命令进行FTP上传下载。 适用于实验室数据文件的云同步。
ibcurl作为是一个多协议的便于客户端使用的URL传输库,基于C语言,提供C语言的API接口,支持DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, ...
Libcurl作为是一个多协议的便于客户端使用的URL传输库,基于C语言,提供C语言的API接口,支持DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, ...
libcurl作为是一个多协议的便于客户端使用的URL传输库,基于C语言,提供C语言的API接口,支持DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, ...
libcurl作为是一个多协议的便于客户端使用的URL传输库,基于C语言,提供C语言的API接口,支持DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, ...
ibcurl作为是一个多协议的便于客户端使用的URL传输库,基于C语言,提供C语言的API接口,支持DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, ...
FtpDownFile 从FTP服务器下载文件 FtpUploadFile 向FTP服务器上传文件 FtpConnect 连接FTP服务器 FtpDisconnect 断开FTP服务器连接 FtpAFile 枚举Ftp中的所有文件 FtpCreateDir 在FTP服务器上创建一个...
其底层API涵盖了文件处理、线程、网络通信、数据库访问等广泛的功能。 面向对象设计: Qt采用面向对象的设计原则,提供了高度模块化的类库,使得代码组织清晰、易于扩展和重用。它遵循MVC(模型-视图-控制器)...
第一篇 平台篇 第1章 ARM处理器简介 ...12.3.2 操作系统模拟层文件sys_arch.c的移植 第13章 工业通信网关解析 13.1 概述 13.2 编码实现 13.3 通信测试 附录A 开发板原理图 附录B 专业术语 参考文献
2012-06-11 15:36 48,640 lunux下的文件操作编程(最原始的).doc 2012-06-11 15:27 1,386,982 LwIP协议栈源码详解.pdf 2012-06-11 15:23 270,989 n元多项式相乘+数据结构课程设计.rar 2012-06-11 15:41 7,171,049 ...
OpenSSL还提供了其它的一些辅助功能,如从口令生成密钥的API,证书签发和管理中的配置文件机制等等。如果你有足够的耐心,将会在深入使用OpenSSL的过程慢慢发现很多这样的小功能,让你不断有新的惊喜。