文件操作练习。 编写一个程序,读文件file1.txt的内容,例“12 34 56”,逆序输出到file2.txt中,例“56 34 12”。用C语言
时间: 2024-09-21 08:05:24 浏览: 34
复制目录下Execl文件sheet1表到新文件vba
在C语言中,我们可以使用标准库函数如`fopen`、`fclose`、`fgets`和`fprintf`来完成文件的操作。以下是一个简单的示例程序,它会打开文件,读取内容,然后将内容逆序写入另一个文件:
```c
#include <stdio.h>
#include <stdlib.h> // 用于获取字符串长度
#define MAX_LINE_LENGTH 100 // 设置行的最大长度
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 line[MAX_LINE_LENGTH]; // 存储一行数据
size_t len;
while ((len = fgets(line, sizeof(line), input_file)) != 0) { // 逐行读取
char* end; // 指向数字结束的位置
long num = strtol(line, &end, 10); // 将数字从字符串转换为长整型
if (*end == '\n') { // 如果行尾有'\n'
line[len - 1] = '\0'; // 删除换行符
}
// 逆序数和空格
for (int i = strlen(line) - 1, j = 0; i >= j; i--, j++) {
if (line[i] == ' ') {
line[j] = line[i];
} else {
break;
}
}
line[j+1] = '\0';
fprintf(output_file, "%ld ", num); // 写入逆序后的数字
}
fclose(input_file); // 关闭输入文件
fclose(output_file); // 关闭输出文件
printf("File content reversed successfully.\n");
return 0;
}
阅读全文