私はこれが単なるものであることを知っていますが、まだ私はそれを理解するには眠すぎます。 誰かが私を助けることができますか?Cの睡眠機能
char buf1[] = "one second program started\n";
char buf2[] = "one second program end\n";
int main(void)
{
write(1,buf1,100);
sleep(1);
write(1,buf2,100);
}
最初の文が印刷され、次にユニット待機の後に2番目の文が印刷される必要があります。しかし、私がこれを実行すると、両方のステートメントが印刷され、次にユニットが待機し、2番目のステートメントが2回印刷されます。どこが間違っていますか?
可搬性のあるCコードを書くときは、できるだけ読み書きのようなシステムコールから離れるようにしてください。標準ライブラリには、操作するのがはるかに楽しい高水準の関数が豊富に用意されています。 –
恐ろしい!みんな、ありがとう。まあ、私はシステムコールから遠ざかるべきであることを知っています。しかし、この全体のポイントは、Man 2ページからのみシステムコールだけを使用することです。私は100を実際のサイズに変更し、うまくいきました。誰かがアイデアを持っています..どのように私は行の終わりまでファイルから読むことができますか?再びシステムコールのみ。 – madCode
スリーピー?関連性や有用性はどうですか?それでも、安心してからもう一度問題を攻撃するのはどうですか? –