2012-03-01 25 views
1

にラインを読んで、私はCentOSの中のreadline関数のmanページをお読みください。奇妙な警告C

のreadlineは、読み込んだ行のテキストを返します。空白行は、 空の 文字列を返します。行の読み取り中にEOFが発生し、行が空の場合は、NULL が返されます。 EOFが空でない行で読み取られた場合、それは新しい行として扱われます( )。

しかし、私はこのコマンドを使用

if (readline(1) == NULL) return EOF; 

私は警告メッセージました:

警告:ポインタと整数

との比較

取得する方法を誰もが知っているがこの警告を取り除く?

+4

コンパイラの扱いが '' int'ので、警告言っ比較bを/返す関数としてreadline'による先のソースファイルに含まれていませんreadline' 'の宣言を持っているかもしれない必要なヘッダwポインタと整数 –

+0

Mr Listerとanother.anon.coward:あなたは神です:D。その他:あなたを気にするこの愚かな質問のために申し訳ありません –

答えて

0

あなたのreadlineのリターン無駄にしないでください:

char *line; 
//... 
line = readline(1); 
if (!line) 
    return EOF; 
//... use line ... 

をし、必要なヘッダを#includeすることを忘れないでください。

#include <stdio.h>