FTP项目

本文详细介绍了FTP项目的实现,包括链表模块、日志模块的创建与使用,以及FTP基本功能如ls、get、put、quit和cd的实现。在高级功能部分,讨论了用户名密码验证和MD5校验在文件传输中的应用,以及如何记录和显示历史命令。代码示例展示了如何处理字符串分割、文件操作和日志写入。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

FTP(File Transfer Protocol,文件传输协议) 是 TCP/IP 协议组中的协议之一。FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端。其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。在开发网站的时候,通常利用FTP协议把网页或程序传到Web服务器上。此外,由于FTP传输效率非常高,在网络上传输大的文件时,一般也采用该协议。

ftp项目通过网络传送文件基本实现的功能:

第一步:
1.设置链表模块
插入 获取所有历史命令 遍历 单元测试

问题:linklist_insert()函数中的二级指针的初始化

2.日志模块用于测试调整
void log_create(const char *filename);

储存信息文件创建
用到fopen函数
FILE *fopen(const char *path, const char *mode);
mode:用a+ 权限,以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。 (原来的EOF符不保留)

void log_destroy();
文件的关闭

void log_write(char *format,…);
测试消息的写入
代码:
void log_write(char *format,…)//写入
19 {
20 va_list args;//定义一个变量
21
22 va_start(args,format);//创建
23 vfprintf(g_log,format,args);
//int vfprintf(FILE *stream, const char *format, va_list ap);

24
25 va_end(args);//销毁
26
27 fflush(g_log);//刷新缓存,强制写入文件
28 …
29 }

注意:
文件创建后一定要有关闭文件,不然会导致文件错误。
文件写入函数中一定要有fflushu函数,fflush()会强迫将缓冲区内的数据写回参数stream 指定的文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值