當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。