
No.2ベストアンサー
- 回答日時:
>printf( " %d\r", i );
ではなく
printf( "%d \r", i );
でなければならない。
カウントダウンし
_10
の上に
_9
を上書きすると
_90
になってしまう( _ は空白の意味)
なので、\rの前に空白を1つ入れて
10_
の上に
9_
を上書きするようにしないと
9__
になってくれない。
「桁が減った時に、画面上に残ってる前の数字が消えるように、数字の次に空白を入れる」のを忘れないように。
例えば
1.02
1.01
1
0.99
0.98
0.97
の、1.01から1になる時のように、一気に3文字も短くなる場合は
1.02___
1.01___
1___
0.99___
0.98___
0.97___
と言う感じで、末尾に3個の空白を入れないと、1つ前の文字が残ってしまう。
細かい点まで教えていただきありがとうございます.
Visual Studioでやったときはできたのですが,Cygwinではできませんでした.カウントダウン中の文字は出力されませんでした.
実行環境がwindows?でないと無理なのでしょうか?
No.3
- 回答日時:
>カウントダウン中の文字は出力されませんでした.
printfの後に
fflush(stdout);
を入れてみましょう。
標準出力stdoutは、\n(普通の改行)が来ないと、出力文字をバッファに溜めたまま、すぐには表示しない事があります。
溜めずにすぐに表示するか、バッファに溜めるかどうかは、処理系により異なるので
>Visual Studioでやったときはできたのですが,Cygwinではできませんでした.
って事が起きます。
なお、一番最初に
setbuf(stdout, NULL);
を1回だけ実行しておくと、出力をバッファに溜めなくなりすぐに出力されるようになるのでprintfの後のfflush(stdout);は要らなくなります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
【教えて!goo ウォッチ 人気記事】風水師直伝!住まいに幸運を呼び込む三つのポイント
記事を読む>>
-
coutで出力した文字を消去するためには?
C言語・C++・C#
-
エスケープ文字の復帰(¥r)とはなんですか?
Java
-
C言語で今まで表示していた画面の消すには?
C言語・C++・C#
-
4
C言語での出力の上書き方法を教えてください!
C言語・C++・C#
-
5
C言語 配列の長さの上限
C言語・C++・C#
-
6
一定時間たつと、リセットしたい
C言語・C++・C#
-
7
【gcc・cygwin】multiple definitionエラーの解決法
C言語・C++・C#
-
8
C言語のfor文です。 繰り返しの中で文字を一つずつ増やしていくやり方を教えてください for(i=
C言語・C++・C#
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
COBOLのMOVEで桁数が異なる場合
-
5
ActiveReportsで縦書きの帳票
-
6
コンセントの電力は入力と出力...
-
7
ACCESS クエリ→フォーム...
-
8
VBAで有効数字の設定
-
9
アクセスでエクセルに出力する...
-
10
dounle型で計算時の誤差
-
11
matlabを使用したfor文の計算
-
12
makeで文字化けする。migwのmak...
-
13
i phone に一括で連絡先を登録...
-
14
プログラムについての質問です...
-
15
テキストファイルから特定の文...
-
16
coutで出力した文字を消去する...
-
17
MMDでavi出力が出来ない
-
18
C言語で矩形波生成方法
-
19
CPUの温度を出力するプログラム...
-
20
VBでステッピングモーターを動...
おすすめ情報
公式facebook
公式twitter