こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

C言語のプログラムで...

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

投稿日時 - 2006-08-30 09:53:14

QNo.2371808

暇なときに回答ください

質問者が選んだベストアンサー

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



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

投稿日時 - 2006-09-01 02:07:37

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.3

#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
で表します。

投稿日時 - 2006-09-01 02:06:07

ANo.2

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

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

投稿日時 - 2006-08-30 12:47:11

補足

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

投稿日時 - 2006-08-30 15:35:20

ANo.1

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

投稿日時 - 2006-08-30 10:54:14

あなたにオススメの質問