コマンドラインのstdinから、任意の長さの1行を一度に読み取ろうとしています。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
ます。これにより、ユーザー入力の受け入れには不適切になります。
どうすればよいですか?些細なことだとは思いますが、理解できませんでした。