【发布时间】:2012-08-28 10:35:33
【问题描述】:
我正在尝试从命令行的标准输入一次读取任意长度的一行。我不确定我是否能够包含 GNU readline 并且更愿意使用库函数。
我读过的文档表明getline 应该可以工作,但在我的实验中它不会阻塞。我的示例程序:
#include <stdio.h>
int main()
{
char *line = NULL;
if (getline(&line, NULL, stdin) == -1) {
printf("No line\n");
} else {
printf("%s\n", line);
}
return 0;
}
产生No line,这使得它不适合接受用户输入。
我该怎么做?我知道这应该是微不足道的,但我一直无法弄清楚。
【问题讨论】:
-
getline()确实 阻止(刚刚在stdin上测试过)。你能发布示例代码吗?