C语言在本地建立test.txt,将文件中每一行字符反序。
时间: 2024-05-07 13:18:39 浏览: 89
下面是一个示例程序,可以实现将文件中每一行字符反序的功能:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LINE_LENGTH 1000
int main()
{
FILE *fp;
char line[MAX_LINE_LENGTH];
int i, len;
// 打开文件
fp = fopen("test.txt", "r+");
if (fp == NULL) {
printf("Failed to open file.\n");
return 1;
}
// 逐行读取文件内容,并将每一行字符反序
while (fgets(line, MAX_LINE_LENGTH, fp)) {
len = strlen(line);
for (i = 0; i < len / 2; i++) {
char temp = line[i];
line[i] = line[len - i - 2];
line[len - i - 2] = temp;
}
// 将反序后的行写回文件
fseek(fp, -len, SEEK_CUR);
fputs(line, fp);
}
// 关闭文件
fclose(fp);
return 0;
}
```
该程序首先打开名为 `test.txt` 的文件,然后逐行读取文件内容,并将每一行字符反序。最后,将反序后的行写回文件。文件操作使用的是 C 标准库中的函数。需要注意的是,该程序对行长做了限制,如果文件中某一行长度超过了 `MAX_LINE_LENGTH`,则可能会出现问题。
阅读全文