#include <stdio.h> #include <stdlib.h> int main(void) { FILE *fp; fpos_t fpos, tmppos; char s[256]; if((fp = fopen("TEMP.FIL", "w+")) == NULL ) { fprintf(stderr,"入力ファイルオープンエラー\n"); exit(EXIT_FAILURE); } /* ファイル位置の退避 */ fgetpos(fp, &fpos); printf("最初のファイル位置: %ld\n", fpos); /* ファイルに7文字書き込み */ fputs("ABCDEFG",fp); fgetpos(fp, &tmppos); printf("書き込み後のファイル位置: %ld\n", tmppos); /* ファイル位置を元に設定 */ if(fsetpos(fp, &fpos) == 0) { fgetpos(fp, &tmppos); printf("元に戻したファイル位置: %ld\n", tmppos); fgets(s, sizeof(s), fp); printf("ファイル内容: %s\n",s); } else { fprintf(stderr, "fsetpos 異常\n"); exit(EXIT_FAILURE); } fclose(fp); return 0; }【実行結果】
最初のファイル位置: 0 書き込み後のファイル位置: 7 元に戻したファイル位置: 0 ファイル内容: ABCDEFG
▼戻る▼
「初心者のためのポイント学習C言語」 Copyright(c) 2000-2004 TOMOJI All Rights Reserved