编写完整可执行c语言程序,要求读出文件sfile.txt中的内容并反序写入到另一个dflie.txt中
时间: 2025-01-05 09:40:16 浏览: 7
当你想要编写一个完整的C语言程序来读取文件`sfile.txt`的内容并将其反序写入到`dfile.txt`中,你可以按照以下步骤操作:
```c
#include <stdio.h>
#include <string.h>
// 函数原型声明
void reverse(char *str);
int main() {
char input[1000]; // 用于存储文件内容
FILE *input_file = fopen("sfile.txt", "r"); // 打开输入文件
FILE *output_file = fopen("dfile.txt", "w+"); // 打开输出文件,如果不存在则创建
if (input_file == NULL) {
printf("Error opening the input file.\n");
return 1;
}
// 读取文件内容到字符数组
fgets(input, sizeof(input), input_file);
fclose(input_file); // 关闭输入文件,因为已经读完
input[strcspn(input, "\n")] = '\0'; // 移除fgets读取的换行符
// 反转字符串
reverse(input);
// 将反转后的字符串写回输出文件
fprintf(output_file, "%s\n", input); // 添加换行符以保持原始格式
rewind(output_file); // 重置输出文件指针回到开头
fprintf(output_file, "%s", input); // 再次写入以覆盖原有内容
fclose(output_file); // 关闭输出文件
printf("Reversed content has been written to dfile.txt.\n");
return 0;
}
// 反转字符串函数
void reverse(char *str) {
int len = strlen(str);
for (int i = 0; i < len / 2; i++) {
char temp = str[i];
str[i] = str[len - i - 1];
str[len - i - 1] = temp;
}
}
```
阅读全文