アプリ版:「スタンプのみでお礼する」機能のリリースについて

今以下のようなプログラムを作っています。問題の部分だけ載せておきます。

 ・
 ・
 ・
a=0;
b=0;
time(&t1);
for(○;△;□){

X番目の素数を表示させるアルゴリズム;

time(&t2);
b=t2-t1;
if(a<b){
a=b;
printf("%d秒経過...\n",a);
}
 ・
 ・
 ・

これですと経過時間は

1秒経過...
2秒経過...
3秒経過...
 ・
 ・
 ・

と表示されるのですが、僕が目指しているのは、例えば、2秒経過したら「2秒経過...」という表示を「1秒経過...」を消してそのところに表示させたいのです。
つまり、まるで秒数の部分だけ変化しているように見せたいのです。
もし、やり方が分かる方がいましたら教えていただけると嬉しいです。ぜひともよろしくお願いします。

A 回答 (5件)

すいませんリンク先ちがってました。


http://www.kumei.ne.jp/c_lang/intro/no_59.htm
    • good
    • 0

Windows環境であればコンソールAPI使うとか。


http://www.kumei.ne.jp/c_lang/intro/no_58.htm
    • good
    • 0

困ったッスね。


環境は、なんですか。
XPのDOSプロンプトではうまくいくんですけどねぇ~。

じゃ、次は、コレを試してみて下さい。
printf("\b\b\b\b\b\b\b\b\b\b\b\b\b");
printf("%d秒経過...",a);
    • good
    • 0

以下のように、system()関数を使ってみるとか。



system("cls");
printf("%d秒経過...\n",a);

全部消えてしまうけど…
    • good
    • 0

とりあえず


printf("%d秒経過...\r",a);
としてみて下さい。
これで、ダメなら、エスケープシーケンスを使うとか

この回答への補足

ご回答ありがとうございます。
一応やってみましたがダメでした。
そこで「エスケープシーケンスを使ったみては」ということだったので、「printf("%d秒経過...",a);」の前に「printf("\x1b[2K");」に入れてみましたがダメでした。
ちなみに後にも置いてみましたがダメでした。
なにか良い方法がありましたら教えてもらってもいいでしょうか?

補足日時:2004/10/21 22:48
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!