※ ChatGPTを利用し、要約された質問です(原文:プログラムのループの周期を設定する方法)
プログラムのループの周期を設定する方法
このQ&Aのポイント
C/C++でプログラムを作成し、ループの周期を設定したい場合、どうすればよいでしょうか。
プログラム内でループの周期を指定するためには、時間計測関数を使用することが一般的です。
具体的には、ループの開始時と終了時にクロック値を取得し、その差分を計算して処理時間とすることで、周期を制御することができます。
C/C++でプログラムを作成していますが,(MicroSoft Visualstadio C++6.0)で
int main()
{
time[1000];
clock_t t1,t2;
t2 = 0;
for(int i = 0;i < 1000;i++)
{
.
.
Sleep(10)
t1 = clock();
time[i] = t1-t2;
t2 = clock();
}
//エクセルでtime[]を書き出す
}
としてfor分の中のループ1回分の周期を10msにしようとしているのですが,time[]をエクセルで書き出すと15msになってしまいます.
ループ1回分を一定の時間で処理させるにはどうしたらよいのでしょうか.
ループ1回分の周期は50ms以下で実行できれば問題ありません.また誤差1ms未満であれば問題ありません(できればあまり大きくないほうがよい).上のプログラムではSleepを使ってますが別にこだわっている訳ではなくほかに方法が分からなかっただけです.できれば簡単なプログラムのようなものを付けて,分かる方はどうか教えてください.