C中的fseek函数使用
函数名:fseek函数
头文件:#include<stdio.h>
功能:把与fp有关的文件位置指针放到一个指定位置。
格式: int fseek(FILE *stream, long offset, int fromwhere);范例一:fseek(fp, 0L, SEEK_END);解释:文件指针定位到文件末尾,偏移0个字节范例二: fseek(fp,50L,0);或fseek(fp,50L,SEEK_SET);
解释:其作用是将位置指针移到离文件头50个字节处。
起始点 对应的数字 代表的文件位置 SEEK_SET 0 文件开头 SEEK_CUR 1 文件当前位置 SEEK_END 2 文件末尾 说明:
offset:偏移量
fromwhere:起始位置其中,“位移量”是long型数据,它表示位置指针相对于“起始点”移动的字节数。
如果位移量是一个正数,表示从“起始点”开始往文件尾方向移动;
如果位移量是一个负数,则表示从“起始点”开始往文件头方向移动。
“起始点”不能任意设定,它只能是在stdio.h中定义的三个符号常量之一:
注意:
fseek函数的文件指针,应该为已经打开的文件。如果没有打开的文件,那么将会出现错误。
以上内容来自网络上资料,整理结果。
下面请看例题:
例题代码:
#include <stdio.h>
#include <stdlib.h>//fseek函数调用
int main()
{
// 开始文件中的内容为aaaaaaaaa
FILE * fp = fopen("a.txt", "r+");
if (fp == NULL) {
printf("file error\n");
exit(1);
}
fseek(fp, 2, SEEK_SET);//光标移到文件开始起第二个字节处。
fwrite("yun", 1, 3, fp); //文件内写入内容yun
fclose(fp);
return 0;
}
程序运行前截图:
************************************************************************************************************************
****************************************************************************
程序运行后截图:
****************************************************************************
***********************************************************************************