電子書籍の厳選無料作品が豊富!

C言語のプログラムで2つのprintf関数の表示にタイムラグを付ける場合はどうしたら良いでしょうか?

A 回答 (4件)

言ってる端から間違うし・・。





clock_t start, end;
start = clock();
do{
end = clock();
}while(end-start<5000);
    • good
    • 0

#2さん、それじゃぁ0.005秒待つ事になって体感ほぼ通過状態になりますよ。


clockで格納される時間は秒ではありません。
1/1000秒つまりミリ秒ですから

clock_t start, end;
start = clock();
do{
end = clock();
}while(end-start<5);

このように書く必要があります。
もし秒で表したいのならば1000で割るすなわち
(double)(end-start)/CLOCKS_PER_SEC
で表します。
    • good
    • 0

使ってるコンパイラを明記してほしかったのですが、こんな感じでどうでしょうか。



//5秒待つ
clock_t stat_time, end_time;
stat_time = clock();
for (;;) {
end_time = clock();
if (5 < (end_time - stat_time)) {
break;
}
}

この回答への補足

すみません説明不足でしたコンパイラはLSI-C86です。

補足日時:2006/08/30 15:35
    • good
    • 0

間に時間待ちを入れるんでしょうね。


時間待ち手法はOS依存ですので、ご自分で調べてください。
UNIX/linux系ならsleepとかusleepがつかえます。
Borlabd C++BuilderだったらSleep(Sが大文字)ってのが使えました。
    • good
    • 0

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