#include <stdio.h>
#include <stdlib.h>
#define FILE_NAME "ff.txt"
int main() {
char x[10],y[10];
FILE *fp;
fp = fopen(FILE_NAME, "r+");
if (fp == NULL) {
printf("couldn't find %s\n ",FILE_NAME);
exit(EXIT_FAILURE);
}
fprintf(fp,"Hello2 World\n");
fflush(fp);
fscanf(fp,"%s %s",x,y);
printf("%s %s",x,y);
fclose(fp);
return 0;
}
ここでは、私がやろうとしていることの煮詰めたバージョンです。このコードは、コンソールに何も印刷しません。私はfprintf
呼び出しを削除した場合、それはそのHello2 World
私のために、ファイルの最初の2つの文字列を出力します。なぜこうなった?私の後でさえ、fflush
fp
?fscanfとfprintfを一緒に使ってCで
感謝を!私はあなたの答えを10分で受け入れます。それはまた、読み取りと書き込みの間にスイッチ用に準備する(ファイルが更新のためにオープンのための)効果を持つと(FP) –
'巻き戻しは'、おそらく良いです。 – Peter
@Peter - ありがとう、私は答えを更新しました。 –