![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
こんにちはorこんばんは。
学校でC言語を習っています。
質問なんですが以下のプログラムで1行で表示する文字を時間差で表示させたいのですがどうしたらいいんでしょうか?理想としては
「犯人は・・・(数秒後)お前だ!」 ←これを改行せずに1行で。
と表現したいんですが、最初に
int main(void)
{
printf("犯人は・・・");
sleep(2);
printf("お前だ!\n");
return 0;
}
と書いたのですが、思い通りにいかず、数秒たってから一度に表示しました。
C言語を使っている環境はLinux4.2でemacsで書いています。
どなたか方法をご存じの方がいれば教えてください。
お願いします。
No.3ベストアンサー
- 回答日時:
「Linux4.2」ってなんだ. そんなものはないぞ.
さておき, stdin がデフォルトでラインバッファリングになっているんでしょう. つまり「バッファからあふれそうになるか 1行が終わるたびに出力する」という仕様になっている.
だから fflush するか setbuf ないし setvbuf でバッファリングを止めるかすればいいはず.
ちなみにたぶん putchar では効果ないと思う>#2.
回答ありがとうございます。
fflush()関数のおかげで思い通りの結果が出せました。
「Linux4.2」て言うのは「Vine Linux 4.2」ていうつもりで書きました。
間違えてたらすいません。
No.2
- 回答日時:
バッファに文字を蓄えておき、エンターキーに相当する¥nで一度に表示する仕様なのかな。
putchar() を使ってみたらどうですか。
ポインターを使いputchar(*p++) とタイマーの組み合わせで上手く行けば、
「犯人は・・・(数秒後)お前だ!」 全体をゆっくり表示できます。
回答ありがとうございます。
自分の勉強不足でポインタのイメージがつかめず上手くできませんでした。
今後のC言語勉強に役立てたいと思います。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# Cのdoubleの浮動小数点表示について 3 2023/04/17 13:14
- C言語・C++・C# C言語初心者 構造体 課題について 2 2023/03/10 19:48
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- C言語・C++・C# 至急教えてください。プログラミングの問題です。 最初に正の整数nの入力を受け付け、次に分数の分子と分 1 2022/07/19 17:03
- C言語・C++・C# 至急教えてください。プログラミングの問題です。 malloc関数を使ってください!お願いします! 最 1 2022/07/21 09:28
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- C言語・C++・C# 至急お願いします。プログラミングの問題です。 最初に正の整数nの入力を受け付け、次に分数の分子と分母 3 2022/07/19 17:09
- C言語・C++・C# カードシャッフルのブログラムを使ってc言語でブラックジャックをしたい 2 2022/04/12 15:13
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- C言語・C++・C# 10人分の生徒の英語の点数{32,34,41,38,40,26,14,46,42,50} と数学の点 2 2022/05/26 21:31
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
反転した数値を表示させるやり方
-
fgetsとsscanfを使って一行から...
-
fgetsで拾われる改行文字を削除...
-
sscanfとscanfの違いがよくわか...
-
itoaわかりません
-
単語数のカウントについて
-
1行の文字列を時間差で表示する...
-
プログラムの実行時に'<'でリダ...
-
信頼区間の1.96や1.65ってどこ...
-
複数桁10進数の*桁目だけを抽出...
-
数学 確率変数Xは、X=2またはX...
-
Enterキーを押されたら次の処理...
-
2÷3などの余りについて
-
中学生で数学です。 √84nが自然...
-
「Aに対するBの割合」と「Aに対...
-
ボール同士の衝突
-
std::set<int> で、ある値が何...
-
変数とパラメータとは違うもの...
-
漢字のソートについて
-
charでの計算?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CStringのFindで文字列検索を行...
-
sscanfとscanfの違いがよくわか...
-
charと%c , %s の関係について
-
fgets関数を使用したときの文字...
-
反転した数値を表示させるやり方
-
fgetsで拾われる改行文字を削除...
-
C言語 空白の行(改行のみ)が...
-
itoaわかりません
-
Cで「大文字、小文字の判定」は...
-
文字列中に含まれる文字の個数...
-
C言語で16進数文字列から16進数...
-
strstrを利用しない文字列検索...
-
小文字のみを数える方法
-
C言語のステップ数をカウントす...
-
C言語でパスワード作成ツール
-
単語数のカウントについて
-
str[j++]の意味
-
fgetsでバッファ残留文字列を無...
-
教えていただけませんか?C言語...
-
エディットボックスに入力され...
おすすめ情報