1. 将一个文本文件中的内容按倒序方式输出到新建文本文件,试用C语言编写相应程序。
时间: 2024-02-27 08:54:45 浏览: 141
可以使用C语言的文件操作函数来实现这个功能。具体步骤如下:
1. 打开原始文本文件,以只读方式读取文件内容。
2. 打开新建文本文件,以写入方式准备向其中写入反转后的内容。
3. 将原始文本文件的内容逐行读取,并存储到一个字符数组中。
4. 逆序遍历该字符数组,将每一行内容写入到新建文本文件中。
5. 关闭原始文本文件和新建文本文件。
下面是代码示例:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LINE_LEN 1000
int main() {
char input_file[] = "input.txt"; // 原始文件名
char output_file[] = "output.txt"; // 新建文件名
FILE *fp_in, *fp_out;
char line[MAX_LINE_LEN];
long int file_size, i;
// 打开原始文本文件
fp_in = fopen(input_file, "r");
if (fp_in == NULL) {
perror("Failed to open input file");
return 1;
}
// 获取文件大小
fseek(fp_in, 0L, SEEK_END);
file_size = ftell(fp_in);
fseek(fp_in, 0L, SEEK_SET);
// 打开新建文本文件
fp_out = fopen(output_file, "w");
if (fp_out == NULL) {
perror("Failed to create output file");
fclose(fp_in);
return 1;
}
// 逐行读取原始文件内容,并存储到字符数组中
while (fgets(line, MAX_LINE_LEN, fp_in) != NULL) {
// 逆序遍历该字符数组,将每一行内容写入到新建文本文件中
for (i = strlen(line) - 1; i >= 0; i--) {
fputc(line[i], fp_out);
}
}
// 关闭文件
fclose(fp_in);
fclose(fp_out);
printf("Reverse file created successfully.\n");
return 0;
}
```
注意,上述代码中的 `MAX_LINE_LEN` 宏定义了每一行字符的最大长度,可以根据实际情况进行调整。同时,在实际使用中,应该确保原始文件存在并且可读,新建文件不存在或者需要覆盖时应该先删除原文件。
阅读全文