unisth.h での sleep() メソッド
#include "unistd.h"
:
:
sleep(0.5f);
:
:
これではディレイはかけられない。
sleep() メソッドは1秒単位でしか値をセットできない
コードを見ると、
sleep(unsigned int) __DARWIN_ALIAS_C(sleep);
引数はunsigned int
になっている為、少数は渡しても切り捨てられて0になる。
usleep() を使う
1秒未満のディレイをかけたい場合はusleep()
メソッドを使用する。
#include "unistd.h"
:
:
usleep(1000000); // 単位は[μs]
// usleep(1e6);
// これでもOKだが、1e6はfloatでusleep(unsigned int)なのでよろしくはない。
:
:
単位はマイクロ秒。
ちなみに10^6
で渡してもダメだった…なんでだろ。
コメントより。