使用C语言编写程序,以便创建两个名为’A’和’B’的文本文件,每文件仅存储一行字母,然后将这些文件中的字母内容按照字母顺序合并并保存到一个新的文本文件’C’中?
时间: 2025-01-01 21:39:51 浏览: 50
在C语言中,你可以使用标准库函数如`fopen`, `fwrite`, 和 `fclose` 来操作文件。以下是一个简单的示例程序,它会完成这个任务:
```c
#include <stdio.h>
#include <string.h>
int main() {
char fileA[] = "A.txt";
char fileB[] = "B.txt";
char outputFile[] = "C.txt";
// 打开文件A和B
FILE *fileA_ptr = fopen(fileA, "r");
FILE *fileB_ptr = fopen(fileB, "r");
if (fileA_ptr == NULL || fileB_ptr == NULL) {
printf("Error opening files.\n");
return 1;
}
// 创建新文件C用于写入
FILE *outputFile_ptr = fopen(outputFile, "w");
if (outputFile_ptr == NULL) {
printf("Error creating output file.\n");
fclose(fileA_ptr);
fclose(fileB_ptr);
return 1;
}
// 读取并合并文件内容
char fileALine[100], fileBLine[100];
while (fgets(fileALine, sizeof(fileALine), fileA_ptr) != NULL && fgets(fileBLine, sizeof(fileBLine), fileB_ptr) != NULL) {
// 比较并按字母顺序写入
if(strcmp(fileALine, fileBLine) <= 0) {
fprintf(outputFile_ptr, "%s", fileALine);
} else {
fprintf(outputFile_ptr, "%s", fileBLine);
}
}
// 关闭所有打开的文件
fclose(fileA_ptr);
fclose(fileB_ptr);
fclose(outputFile_ptr);
printf("Files merged successfully.\n");
return 0;
}
```
阅读全文
相关推荐


















