Странное предупреждение при чтении строки в C - PullRequest
1 голос
/ 01 марта 2012

Я прочитал справочную страницу функции readline в CentOs:

readline возвращает текст прочитанной строки.Пустая строка возвращает пустую строку.Если при чтении строки встречается EOF, а строка пуста, возвращается NULL.Если EOF читается с непустой строкой, он рассматривается как новая строка.

Однако, когда я использую эту команду

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

, я получил предупреждениесообщение:

предупреждение: сравнение между указателем и целым числом

Кто-нибудь знает, как избавиться от этого предупреждения?

1 Ответ

0 голосов
/ 01 марта 2012

Не тратьте впустую возврат вашей readline:

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

И не забудьте #include обязательный заголовок.

#include <stdio.h>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...