[解決済み] 標準入力から行を読み、改行が見つかるまでブロックするにはどうすればよいですか?
2022-01-28 23:02:03
質問
コマンドラインで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
そのため、ユーザーからの入力を受け付けるには適していません。
どうすればいいのでしょうか?簡単なことなのは分かっているのですが、なかなか理解できません。
どのように解決するのですか?
このパッチを試してみてください
char *line = NULL;
+size_t size;
+if (getline(&line, &size, stdin) == -1) {
-if (getline(&line, 0, stdin) == -1) {
printf("No line\n");
} else {
関連
-
[解決済み】valgrind - サイズ8のブロックが割り当てられた後、アドレス ---- が0バイトになる。
-
[解決済み】strcmpが機能しない
-
[解決済み] Connect: ソケット以外でのソケット操作
-
[解決済み】 switch case: error: case label does not reduce to an integer constant
-
[解決済み】LinuxのI_PUSHに相当するもの
-
[解決済み] [Solved] .Cファイルをコンパイルしています。アーキテクチャ x86_64 の未定義シンボル
-
[解決済み】.axfファイルとは何ですか?
-
[解決済み】execvp: バッドアドレスエラー
-
[解決済み] ファイルの内容からJavaの文字列を作成するにはどうすればよいですか?
-
[解決済み] Javaからフォルダ内の全ファイルを読み込むには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】C言語で「関数の型が競合しています」と表示される、なぜ?
-
[解決済み】Cコンパイルエラーです。Idは1終了ステータスを返した
-
[解決済み】"Expected expression before ' { ' token"(トークンの前に期待される式)。
-
[解決済み] clang: error: linker command failed with exit code 1が表示されるのはなぜですか?
-
[解決済み] テスト
-
[解決済み】fgetsによるセグメンテーションフォールト(コアダンプ) - と思う。
-
[解決済み] C: エラー: ';'トークンの前に ')' があると予想される
-
[解決済み】int型配列へのポインタのスカラ・イニシャライザの過剰要素
-
[解決済み】execvp: バッドアドレスエラー
-
[解決済み】C言語でpow( )への未定義参照、math.hを含むにもかかわらず【重複】。