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


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