利用标准io实现读取文件内的数据然后将其反转,将反转后的数据放回原文件内(用C语言实现)
时间: 2024-01-22 21:18:51 浏览: 91
以下是利用标准io实现读取文件内的数据然后将其反转,将反转后的数据放回原文件内的C语言代码:
```c
#include <stdio.h>
#include <stdlib.h>
#define MAX_SIZE 1000
int main() {
char data[MAX_SIZE];
int i, j, len;
FILE *fp;
/* 打开文件 */
fp = fopen("input.txt", "r+");
if (fp == NULL) {
printf("无法打开文件\n");
exit(EXIT_FAILURE);
}
/* 读取文件内容 */
fgets(data, MAX_SIZE, fp);
/* 计算字符串长度 */
len = 0;
while (data[len] != '\0') {
len++;
}
/* 反转字符串 */
for (i = 0, j = len - 1; i < j; i++, j--) {
char temp = data[i];
data[i] = data[j];
data[j] = temp;
}
/* 将反转后的数据放回文件 */
rewind(fp);
fputs(data, fp);
/* 关闭文件 */
fclose(fp);
printf("文件已反转\n");
return 0;
}
```
其中,我们通过`fopen()`函数打开文件,并指定打开方式为`r+`,表示既可以读取文件内容,也可以写入文件内容。
接着,我们使用`fgets()`函数读取文件内容,存储到字符数组`data`中。
然后,我们计算出字符数组的长度,使用双指针法将字符数组反转。
最后,我们使用`rewind()`函数将文件指针移回文件开头,使用`fputs()`函数将反转后的数据写回文件中。
最后,我们使用`fclose()`函数关闭文件。
阅读全文