質問: (char*)malloc(sizeof(char) * 100); while(fgets(text,100,file) != NULL){ printf("%s",fgets(text, 100, file)); } fclose(file); } ``` ### 試したこと fgets()が2回出るのが行けないのかと思い代数を作って1回にもしてみましたが結果は同じでした。
回答: 条件部で一回読み取っているんですから、printf("%s", text); で充分では。 あと、mallocしたときは必ずfreeしてください。軽微ではありますがメモリリークが起きています。 ファイルが開けなかったとき、またメモリ取得失敗時のフローが無いのも気になります。