当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


C语言 fseek用法及代码示例


C语言stdio头文件(stdio.h)中fseek函数的用法及代码示例。

用法:

int fseek ( FILE * stream, long int offset, int origin );
重新定位流位置指示器
设置与到新的位置。

对于以二进制模式打开的流,通过添加来定义新位置抵消到由指定的参考位置起源

对于以文本模式打开的流,抵消应为零或前一个调用返回的值ftell起源必须是SEEK_SET

如果使用这些参数的其他值调用该函数,则支持取决于特定的系统和库实现(不可移植)。

这个文件结束内部指示器成功调用此函数后,会清除,并且先前调用会产生所有影响ungetc在这个被丢弃。

在打开以进行更新(读+写)的流上,调用fseek允许在读写之间切换。

参数

stream
指向一个指针FILE标识流的对象。
offset
二进制文件:要从其偏移的字节数起源
文本文件:或者为零,或者为ftell
origin
位置用作参考抵消。由以下定义的以下常量之一指定:<cstdio>专门用作此函数的参数:
持续的参考位置
SEEK_SET文件开始
SEEK_CUR文件指针的当前位置
SEEK_END文件结尾*
*不允许库实现有意义地支持SEEK_END(因此,使用它的代码没有真正的标准可移植性)。

返回值

如果成功,函数将返回零。
否则,它返回非零值。
如果发生读取或写入错误,则错误指示(ferror)已设置。

示例

/* fseek example */
#include <stdio.h>

int main ()
{
  FILE * pFile;
  pFile = fopen ( "example.txt" , "wb" );
  fputs ( "This is an apple." , pFile );
  fseek ( pFile , 9 , SEEK_SET );
  fputs ( " sam" , pFile );
  fclose ( pFile );
  return 0;
}


成功执行此代码后,该文件example.txt包含:
This is a sample.

相关用法


注:本文由纯净天空筛选整理自C标准库大神的英文原创作品 C fseek function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。