文件随机读写----文件光标的移动

2021-03-02 15:08:46 浏览数 (1)

rewind(fp):将文件光标置首

如果在文件光标位于结尾时从文件中读取数据,那么便会以乱码的形式往文件中写入读取数据大小,然后将乱码读出

解决方法1:关闭文件,重新打开,文件光标会置首

解决方法2:

代码语言:javascript复制
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
void test01()
{
	//要改成可读可写
	FILE* fp = fopen("hello.txt", "w ");
	if (!fp)
	{
		printf("文件打开失败");
		return;
	}
	fputs("hello world", fp);
#if 0
	//解决方法1:
	fclose(fp);
	fp = fopen("hello.txt", "r");
#endif
	//将文件光标置首
	//fseek(fp, 0, SEEK_SET);
	//rewind(fp);
	//fseek(fp, -11, SEEK_END);
	fseek(fp, -5, SEEK_CUR);
	char buf[32] = { 0 };
	fgets(buf, sizeof(buf), fp);
	printf("%sn", buf);
}
int main()
{
	test01();
	return 0;
}

0 人点赞