1.利用文件IO完成,将源文件中的所有内容进行加密(大写转换成小写,小写转换成大写)后写入目标文件中。
//文件IO加密拷贝
#include<myhead.h>
int main(int argc, char const *argv[])
{
ssize_t re_size; //定义读取文件返回的字节个数
if(argc!=3)
{
printf("input file error\n");
return -1;
}
//以只读的形式打开源文件
int scrfd=open(argv[1],O_RDONLY);
if(scrfd==-1)
{
perror("open 1 error");
return -1;
}
//以只写的形式打开目标文件
int desfd=open(argv[2],O_WRONLY | O_CREAT | O_TRUNC,0664);
if(desfd==-1)
{
perror("open 2 error");
return -1;
}
//定义搬运工
char buf[128]="";
//读取源文件
while((re_size=read(scrfd,buf,sizeof(buf)))>0) //读取返回的字节大于0就接着循环
{
for(ssize_t i = 0;i<re_size;i++) //将读取的数据进行遍历
{
//大小写转换
if(buf[i]>='A'&&buf[i]<='Z')
{
buf[i]=buf[i]+32;
}else if(buf[i]>='a'&&buf[i]<='z')
{
buf[i]=buf[i]-32;
}
}
//写入目标文件中
write(desfd,buf,re_size);
}
printf("拷贝成功\n");
return 0;
}
源文件 one.txt 中的内容:
程序运行:
运行后目标文件 two.txt 中的内容: