関数名:fseek
ヘッダーファイル: <stdio.h>
関数プロトタイプ: int fseek(FILE *stream, long offset, int fromwhere);
機能:ストリーム上のファイル ポインタを再配置して、ストリーム上のファイル構造の位置を再配置します。 fseek は、ストリーム stream に関連付けられたファイル ポインターを、fromwhere で指定されたファイル位置からの新しい位置オフセット バイトに設定します。
パラメータ: FILE *stream 再配置するストリーム
ロングオフセット 再配置のオフセット
int fromwhere 再配置場所
戻り値: 成功した場合は 0、エラーまたは失敗した場合は 0 以外。
補足: fromwhere の値は 0 である必要があり、1 または 2 のいずれかが stdio.h で定義されている 3 つのシンボリック定数をそれぞれ表します。
0 は SEEK_SET で、ファイルの開始位置です。
1 は SEEK_CUR、現在のポインタ位置です。
2 時の SEEK_END はファイルの終わりです。
fseek が呼び出された後、更新されたファイルの場所で次の操作を入力することも、出力することもできます。
プログラム例:ファイルを開き、文字列をファイル ストリームに入力し、それをファイルの先頭に再配置し、ファイルの長さを出力します。
#include<stdio.h>longfilesize(FILE*stream);intmain(void){FILE*stream=fopen(myfile.txt,w+);fprintf(stream,www.dotcpp.com);fseek(stream,0,SEEK_END) );printf(Filesizeofmyfile.txtis%ldbytesn,ftell(stream));fclose(stream);return0;}
走行結果
myfile.txtisのファイルサイズ14バイト