2012-03-01 74 views
1

讀線,當我在讀的CentOS readline的功能的手冊頁:古怪的警告使用C

的ReadLine返回讀取行的文本。空白行返回 空的 字符串。如果在讀取一行時遇到EOF,並且該行爲空,則返回NULL 。如果使用非空行讀取EOF,則會將其視爲新行 - 行。

然而,當我使用這個命令

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

我得到的警告消息:

警告:指針和整數之間的比較

任何人都知道怎麼弄擺脫這個警告?

+4

也許需要報頭,因爲他們聲明'readline'未在源文件中包括由於該編譯器將'readline'作爲返回'int'和一個函數因而報警稱比較B/w指針和整數 – 2012-03-01 08:42:45

+0

Lister先生和another.anon.coward:你是上帝:D。其他:對不起,因爲這個愚蠢的問題困擾着你們 – 2012-03-01 08:48:06

回答

0

不要浪費你的readline的回報:

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

而且不要忘了#包括所需的頭。

#include <stdio.h>