我正在尝试从命令行的标准输入一次读取任意长度的一行。我不确定我是否能够包含 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
,这使得它不适合接受用户输入。
我该怎么做呢?我知道这应该是微不足道的,但我无法弄清楚。