、文件操作练习。 编写一个程序,读文件file1.txt的内容,例“12 34 56”,逆序输出到file2.txt中,例“56 34 12”。
时间: 2024-09-21 17:11:25 浏览: 79
你可以使用C语言的标准库函数,如fopen、fclose、fgets以及fwrite来进行文件操作。下面是一个简单的示例程序,它会打开文件,读取内容,反转数字并写入另一个文件:
```c
#include <stdio.h>
#include <stdlib.h> // 引入stdlib以获取atoi用于字符串转整数
#define BUFFER_SIZE 100
// 将字符串中的数字逆序
void reverse(char *str) {
char temp;
int start = 0, end = strlen(str) - 1;
while (start < end) {
temp = str[start];
str[start] = str[end];
str[end] = temp;
start++;
end--;
}
}
int main() {
FILE *inputFile, *outputFile;
char input[BUFFER_SIZE], output[BUFFER_SIZE];
// 打开输入文件
inputFile = fopen("file1.txt", "r");
if (inputFile == NULL) {
printf("Error opening the file.\n");
return 1;
}
// 读取文件内容
fgets(input, sizeof(input), inputFile);
input[strcspn(input, "\n")] = '\0'; // 去除末尾换行符
// 逆序字符串中的数字
reverse(input);
// 打开输出文件
outputFile = fopen("file2.txt", "w");
if (outputFile == NULL) {
printf("Error opening the file to write.\n");
fclose(inputFile); // 关闭输入文件
return 1;
}
// 写入逆序后的字符串
fprintf(outputFile, "%s\n", input); // 注意这里要加上换行符
// 关闭文件
fclose(inputFile);
fclose(outputFile);
printf("Content reversed and written to file2.txt successfully.\n");
return 0;
}
```
在这个程序中,我们首先打开`file1.txt`进行读取,然后使用`fgets`函数读取一行内容。接着我们调用`reverse`函数将读取到的字符串中的数字逆序。之后打开`file2.txt`进行写入,最后关闭两个文件。
阅读全文