【问题描述】 对于一个文本文件text1.dat,编写一个程序,将该文件中的每一行字符颠倒顺序后输出到另一个文本文件text2.dat中。 【输入形式】 输入文本文件为当前目录下的text1.dat,该文件含有多行任意字符,也可能有空行。每个文本行最长不超过80个字符。在最后一行的结尾也有一个回车符。 【输出形式】 输出为当前目录下的文本文件text2.dat。
时间: 2024-03-24 15:36:12 浏览: 101
dat.zip_.dat_DAT_MATLAB dat _dat文件
以下实现上述功能的C语言代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
FILE* fp1 = fopen("text1.dat", "r");
FILE* fp2 = fopen("text2.dat", "w");
char buffer[81];
// 逐行读取text1.dat并将每行颠倒后写入text2.dat
while(fgets(buffer, 81, fp1) != NULL) {
int len = strlen(buffer);
while(len > 0 && (buffer[len-1] == '\n' || buffer[len-1] == '\r')) {
len--;
}
for(int i = len - 1; i >= 0; i--) {
fputc(buffer[i], fp2);
}
fputc('\n', fp2);
}
fclose(fp1);
fclose(fp2);
printf("转换完成\n");
return 0;
}
```
代码中通过文件操作打开text1.dat和text2.dat两个文件,并使用fgets函数逐行读取text1.dat。对于每一行,先使用strlen函数获取该行的长度,并去除行末的回车符。然后使用for循环将该行颠倒后写入text2.dat。最后在程序执行结束时输出提示信息,并关闭文件指针。
阅读全文