2012-03-01 38 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>