07/11/26 22:23:12
r+ は上書き可能。こんな感じ。 ポップアップ用アンカー >>786
#include <stdio.h>
#include <stdlib.h>
int main() {
static const char FILENAME[] = "test.txt";
FILE *fp;
int x = 0;
/* とりあえず 10 と書き込む */
fp = fopen(FILENAME, "w");
fprintf(fp, "%d", 10);
fclose(fp);
fp = fopen(FILENAME, "r+"); /* r+ で開く */
/* ファイルの先頭から数値を読み出す */
fscanf(fp, "%d", &x);
printf("%d\n", x); /* 10 と出力されるはず */
/* ファイルの先頭に移動して 30 と書き込む */
fseek(fp, 0, SEEK_SET);
fprintf(fp, "%d", 30);
/* またファイルの先頭に移動して数値を読み出す */
fseek(fp, 0, SEEK_SET);
fscanf(fp, "%d", &x);
printf("%d\n", x); /* 30 と出力されるはず */
fclose(fp);
return EXIT_SUCCESS;
}