思维导图
作业
1.使用文件IO完成,将源文件中的所有内容进行加密(大写转小写、小写转大写)后写入目标文件中
// 使用文件IO完成 将源文件中的所有内容进行加密(大写转小写、小写转大写)后写入目标文件中 (源文件内容不变)
#include <myhead.h>
int main(int argc, char const *argv[])
{
if (argc != 3)
{
printf("请输入正确的文件名\n");
return -1;
}
// 打开源文件
int source = open(argv[1], O_RDONLY);
if (source == -1)
{
perror("打开源文件失败");
return -1;
}
// 打开目标文件
int des = open(argv[2], O_RDWR);
if (des == -1)
{
perror("打开目标文件失败\n");
return -1;
}
// 定义容器
char buf[1024];
while (1)
{
int result = read(source, buf, sizeof(buf));
if (result == 0)
{
break;
}
for (int i = 0; i < result; i++)
{
if (buf[i] >= 'a' && buf[i] <= 'z')
{
buf[i] -= 32;
}
else if (buf[i] >= 'A' && buf[i] <= 'Z')
{
buf[i] += 32;
}
}
int result1 = write(des, buf, result-1);
if (result1 == 1)
{
perror("加密失败\n");
return -1;
}
}
printf("加密成功\n");
close(source);
close(des);
return 0;
}
运行结果: