こんにちは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ランキング
-
sscanfとscanfの違いがよくわか...
-
反転した数値を表示させるやり方
-
C言語です
-
fgetsでバッファ残留文字列を無...
-
文の意味
-
C言語、単語ごとに改行したい
-
C言語のステップ数をカウントす...
-
fgets関数を使用したときの文字...
-
CStringについて
-
ファイルを読み込みテキストフ...
-
CStringのFindで文字列検索を行...
-
ある文字列で2回目3回目に出現...
-
charと%c , %s の関係について
-
strstrを利用しない文字列検索...
-
小文字は大文字に、大文字は小...
-
エディットボックスに入力され...
-
itoaわかりません
-
ブランクのチェック
-
C言語で16進数文字列から16進数...
-
[Java]文字列分割
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CStringのFindで文字列検索を行...
-
sscanfとscanfの違いがよくわか...
-
反転した数値を表示させるやり方
-
fgets関数を使用したときの文字...
-
C言語 空白の行(改行のみ)が...
-
charと%c , %s の関係について
-
C言語のステップ数をカウントす...
-
fgetsで拾われる改行文字を削除...
-
itoaわかりません
-
C言語で16進数文字列から16進数...
-
strstrを利用しない文字列検索...
-
文字列中に含まれる文字の個数...
-
Cで「大文字、小文字の判定」は...
-
1行の文字列を時間差で表示する...
-
エディットボックスに入力され...
-
[Java]文字列分割
-
文字列の途中に「0」がある場...
-
教えていただけませんか?C言語...
-
atoiでの文字列以外のエラー処...
-
fgetsでバッファ残留文字列を無...
おすすめ情報