トップページ > キーワード検索 > fseek()
C言語規格
C言語(その他)
プログラム
その他
fseek()
機能 ストリームのファイル位置を変更することを表す。
※ 位置を変更した場合ungetc関数の効果は解除される
定義 #include <stdio.h>

int fseek ( FILE * stream, long int offset, int whence );
引数
streamストリーム(FILE)へのポインタ
offsetwhenceが示す位置からオフセット位置
whence移動原点。以下のいずれかを指定。
移動原点意味
SEEK_SETファイルの始め
SEEK_CUR現ファイル位置
SEEK_ENDファイルの終わり
※ テキストモードで開いたストリームを指定する場合、whenceはSEEK_SET、offsetはftell関数で取得した値でなければならない。その他を指定した場合は正常に動作しないことがある
戻り値 成功した場合は、0 を返す。
失敗した場合は、0以外を返す。
実装例
#include <stdio.h>

int main(void)
{
    FILE *fp;
    int c;
    
    fp = fopen("test.txt", "rb");
    
    if (NULL != fp) {
        
        fseek(fp, 3, SEEK_SET);  /* 先頭から3進む */
        c = fgetc(fp);           /* 1つ進む       */
        printf("%c\n", c);
        
        fseek(fp, 1, SEEK_CUR);  /* 1つ進む       */
        c = fgetc(fp);           /* 1つ進む       */
        printf("%c\n", c);
        
        fseek(fp, -2, SEEK_END); /* 最後から2つ戻る */
        c = fgetc(fp);           /* 1つ進む         */
        printf("%c\n", c);
        
        fclose(fp);
    }
    
    return 0;
}
(test.txtの内容)
0123456789
実行結果
3
5
8





inserted by FC2 system