fopen()関数にてテキストファイルをテキストモードで開き、
fgetc()関数で1文字ずつファイル内容を取得していく途中で、
ファイルポインタを戻す処理を行いたく、fseek()関数を利用しようとしたのですがうまくいきません。
解決策や、代理案を模索していたのですがなかなか見つからず。。。 何かいい案はないでしょうか?
以下、テスト作成して 思うように動作しなかったソースコード
#include <stdio.h>
void main(void){
long Base; // 戻したいファイルポインタ位置を記録
FILE *fp = fopen("test.txt", "rt"); // ファイルオープン
/*** 読み込みエラーチェック ***/
if(fp != NULL){
fgetc(fp);
fgetc(fp);
Base = ftell(fp); // 戻したい位置を記録しておく
fgetc(fp);
fgetc(fp);
fseek(fp, Base, SEEK_SET); // あらかじめ記録しておいた位置へファイルポインタを戻す
fclose(fp);
}
}