1,linux平台C简单实现本地文件cp
码子及运行效果测试
编译码子;
运行可执行程序;
2,C通过管道进行文件复制
3,下插曲--文件读写文件定位操作;
linux下lseek函数用法;
lseek()
头文件 #include <sys/types.h>
#include <unistd.h>
protoType:
off_t lseek(int fildes,off_t offset,int whence);//偏移,根源
函数说明:每一个以打开的文件都有读写位置,当打开文件时通常其读写位置是指向文件开头;
若是以附加的方式打开文件(O_APPEND),读写位置指向文件的末尾;
当read()或write()时,读写位置会随之增加
lseek()用来控制文件的读写位置
参数fildes为已打开的文件描述符,参数offset为根据参数whence来移动读写位置的位移数;
参数whence为下列一种
SEEK_SET 参数offset即为新的读写位置
SEEK_CUR 当前读写位置后增加offset个位移量
SEEK_END 将读写位置指向文件尾后 再增加offset个位移量
当whence值为SEEK_CUR或SEEK_END时,参数offset允许负值的出现
较特色的使用方式
1),欲将读写位置移到文件开头:lseek(int fildes,0,SEEK_SET);
2),将读写位置移到文件尾:lssek(int fildes,0,SEEK_END)
3),取得目前文件位置:lseek(int fildes,0,SEEK_CUR)
返回值:当调用成功返回目前的读写位置,也就是距离文件开头多少个字符,
若有错误则返回-1,errno会存放错误号码哦,亲;
错误代码:EINTR 系统中断;
4,网络文件复制传输
Server端码子;
C客户端码子
4.01 文本文件传输测试;
部分文件内容查看
4.02 unzip文件复制测试
[注,我在前面已经说过了,从S端cp一个文件到C端去,我们的最终目标虽然是最后的文件(不限于zip等压缩包,文本文件等,Dir目录暂不支持),但在C端这边文件的存放目录需与S端的这个Cp文件的地方位置一致,不存在,你就得手动自个来,暂时程序还没实现到这一步,不多时Ruiy将会增加此功能,判断存放的Parent FullPath是否存在,No,则程序自个搞定它]
3,cp 目录测试(故意测试,暂时程序不支持)
呵呵,根据码子你就知道为神马了!
5,简单字符串翻转码子(使用堆栈原理);
码子,
测试
6,考题,程序问题修复
7,socket线程实例