linux fopen文件读写指定位置内容
时间: 2023-10-14 17:28:47 浏览: 89
在Linux中,可以使用fseek函数来移动文件指针的位置,然后再使用fwrite或fread函数来进行文件的读写操作。
下面是一个示例代码,演示如何在文件中指定位置读写内容:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
FILE *fp;
char *filename = "test.txt";
char buffer[100];
int pos, len;
// 打开文件
fp = fopen(filename, "r+");
if (fp == NULL) {
printf("打开文件失败!\n");
exit(1);
}
// 移动文件指针到指定位置
pos = 10;
fseek(fp, pos, SEEK_SET);
// 读取指定长度的内容
len = 5;
fread(buffer, len, 1, fp);
printf("读取的内容为:%s\n", buffer);
// 移动文件指针到指定位置
pos = 20;
fseek(fp, pos, SEEK_SET);
// 写入指定长度的内容
len = 6;
strcpy(buffer, "world!");
fwrite(buffer, len, 1, fp);
// 关闭文件
fclose(fp);
return 0;
}
```
这个示例代码中,首先打开一个文本文件test.txt,然后移动文件指针到位置10处,读取5个字符的内容,并输出到屏幕上。
接着,再移动文件指针到位置20处,写入一个字符串"world!",并关闭文件。
在实际的应用中,可以根据需要修改移动文件指针的位置和读写的长度和内容。
阅读全文