2017-01-30 8 views
0

私はCで、ファイルからの読み込みのいくつかの例を探していると私はfpは、以前の「FILE *fp;fgetsの(FILE *)fpとfpの違いは?

定義されたファイルポインタであると仮定し

fgets(buff,255,(FILE*)fp); 

fgets(buff,255,fp); 

の両方を参照してくださいこれに全く違いはありますか?コンパイラはちょうど1つを別のものに変換しますか? (fgets(buff、255、fp))(それが真実であると仮定して)、いくつかは特にチェックしている間に(fgets(buff、255、fp) 255、fp)!= NULL)。

"true"が失敗してはいけませんか?成功した場合はbuffを返し、失敗した場合はnullを返します。

ありがとうございました

答えて

2

条件付きのステートメントでは、null以外のポインタはtrueとして扱われます。したがって、

while(fgets(buff,255,fp)) 

while(fgets(buff,255,fp)!=NULL) 

に相当し、(FILE*)fpは型キャストです。 fpは既にFILE *fp;と宣言されているため、キャストは効果がありません。

関連する問題