質問: NULL) { printf("file open error\n"); return -1; } while (fgets(str, 256, fp) != NULL) { printf("%s",str); } fclose(fp); return 0; } ```
回答: fopen_sの戻り値は「エラー番号」であり、FILEポインタではありませんので、以下の行でfpにFILEポインタでない値を代入しています。 ``` if ((fp = fopen_s(&fp, "sample.txt", "r")) == NULL) ``` fopen_sのリファレンス その後、FILEポインタでないfpからfgetsを実行してここで落ちていると思われます。 ``` while (fgets(str, 256, fp) != NULL) ```