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


C语言 fseek() vs rewind()用法及代码示例


在C语言中,fseek()比rewind()更可取。

请注意以下文本C99标准:
快退函数将流指向的流的文件位置指示符设置到文件的开头。相当于

(void)fseek(stream, 0L, SEEK_SET)

除了也清除了流的错误指示符。


下面的代码示例使用rewind()将输入流的文件位置指示符设置回开头。但是无法检查rewind()是否成功。

int main() 
{ 
  FILE *fp = fopen("test.txt", "r"); 
  
  if ( fp == NULL ) { 
    /* Handle open error */
  } 
  
  /* Do some processing with file*/
  
  rewind(fp);  /* no way to check if rewind is successful */
  
  /* Do some more precessing with file */
  
  return 0; 
}

在上面的代码中,可以使用fseek()代替rewind()来查看操作是否成功。可以使用以下代码行代替rewind(fp);

if ( fseek(fp, 0L, SEEK_SET) != 0 ) { 
  /* Handle repositioning error */
}

资源:



相关用法


注:本文由纯净天空筛选整理自 fseek() vs rewind() in C。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。