使用c语言编写一个程序,读文件file1.txt的内容,例“12 34 56”,逆序输出到file2.txt中,例“56 34 12”。
时间: 2024-09-12 20:03:06 浏览: 66
全国计算机等级考试二级C语言上机考试题库及答案.pdf
要使用C语言编写一个程序来读取`file1.txt`的内容并将其逆序写入`file2.txt`,可以按照以下步骤操作:
首先,我们需要打开两个文件,一个是输入文件,另一个是输出文件。然后,我们将读取输入文件的内容,并存储在一个数组中,接着对数组进行逆序,最后将逆序后的内容写入到输出文件。
```c
#include <stdio.h>
#include <stdlib.h> // 引入malloc和free函数
#define MAX_LINES 100 // 设置最多能读取的行数
#define LINE_LENGTH 10 // 每行数据假设最大长度为10
int main() {
FILE *input_file = fopen("file1.txt", "r");
if (input_file == NULL) {
perror("Error opening input file.");
return 1;
}
FILE *output_file = fopen("file2.txt", "w");
if (output_file == NULL) {
perror("Error opening output file.");
fclose(input_file);
return 1;
}
char numbers[MAX_LINES][LINE_LENGTH];
int i = 0;
// 逐行读取文件内容并存储到数组
while (fgets(numbers[i], LINE_LENGTH, input_file)) {
i++;
if (i >= MAX_LINES) {
fprintf(stderr, "Exceeded maximum number of lines.\n");
break;
}
}
// 对数组进行逆序
for (int j = 0; j < MAX_LINES / 2; j++) {
char temp[LINE_LENGTH];
strcpy(temp, numbers[j]);
strcpy(numbers[j], numbers[MAX_LINES - 1 - j]);
strcpy(numbers[MAX_LINES - 1 - j], temp);
}
// 将逆序后的内容写回输出文件
for (i = 0; i < i < MAX_LINES; i++) {
fprintf(output_file, "%s\n", numbers[i]);
}
fclose(input_file);
fclose(output_file);
return 0;
}
```
阅读全文