C语言 9.4 文件转换 【问题描述】写一个程序,将一个文件复制到另一个文件,用大写字母替换所有小写字母。即将读取Desktop1,用大写字母替换所有小写字母,并写到Desktop2中。 【输入形式】 Desktop1.txt 【输出形式】 Desktop2.txt
时间: 2024-02-11 22:09:17 浏览: 155
好的,这里是一个能够实现该功能的 C 语言程序,建议在和 `Desktop1.txt` 文件相同的目录下运行:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
FILE *fin, *fout;
char c;
// 打开文件 Desktop1.txt
fin = fopen("Desktop1.txt", "r");
if (fin == NULL) {
printf("打开文件 Desktop1.txt 失败!\n");
return 1;
}
// 打开文件 Desktop2.txt
fout = fopen("Desktop2.txt", "w");
if (fout == NULL) {
printf("打开文件 Desktop2.txt 失败!\n");
fclose(fin); // 注意关闭已经打开的文件 Desktop1.txt
return 1;
}
// 逐个字符读取 Desktop1.txt 并转换写入 Desktop2.txt
while ((c = fgetc(fin)) != EOF) {
if (islower(c)) { // 如果是小写字母
c = toupper(c); // 转换为大写字母
}
fputc(c, fout); // 写入 Desktop2.txt
}
// 关闭文件
fclose(fin);
fclose(fout);
printf("文件 Desktop1.txt 内容已转换并写入到文件 Desktop2.txt 中。\n");
return 0;
}
```
这个程序需要调用标准库函数 `fopen()` 和 `fclose()` 来打开和关闭文件,以及 `fgetc()` 和 `fputc()` 函数来逐个读取和写入文件字符,以及 `islower()` 和 `toupper()` 函数来进行字符转换。这里使用了 `<ctype.h>` 头文件中的函数来进行字符的大小写转换。
阅读全文