- ベストアンサー
C言語で実行時間を指定して終了する方法を教えてくれませんか?
C言語で、実行してから5秒後に終了するプログラムを作成したいのですが、どのような関数を使用し、どのようにプログラムを作成すればよいでしょうか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
time()関数で実時間を取得しつつ、while ()で5秒経過するまでループさせておく・・・というのではダメでしょうか?
その他の回答 (3)
- kirikirkaz
- ベストアンサー率60% (21/35)
OSがWindowsなら・・・Sleep関数なんかはどうでしょうか? これは単に指定時間(ms)の間何もしない関数ですが・・・ それとLinuxだとusleepやnanosleepがあるようです。 http://oshiete1.goo.ne.jp/qa1796385.html (URLが長くなるので参考URL欄に入れられませんでした)
- 参考URL:
- http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/jpdllpro/html/_win32_sleep.asp
お礼
すいません。OSはLINUXです。 また詳しく調べいただいて申し訳ないのですが、一定時間内はずっとプログラムを動かしておきたいのでsleepはつかえませんでした。 調べていただきありがとうございます!!
- ultraCS
- ベストアンサー率44% (3956/8947)
一定時間後に終了と言うが、その間、バリバリ計算して、その時間で計算を打ち切るようなプログラムをしたいのか、何らかの待ち動作を一定時間で打ち切りたいのか、それとも単にぼーっと一定時間待つのかで全く違うので補足してください。 OSと処理系もよろしく
お礼
返答ありがとうございます。 なるほど! 一定時間プログラムを動かしておきたいので、一定時間でその動作を終了したいです。なのでsleepなど時間をぼーっと待つのはふさわしくないです。 OSはLINUXのRED HATです。
- koko_u_
- ベストアンサー率18% (459/2509)
環境を書いた方がいいですよ。 UNIX 系なら SIGALRM シグナルを使うのかな?
お礼
すいません。環境はLINUXです。 SIGALRMですか?調べてみます!ありがとうございます。
お礼
なるほど!! ただネットでtime()関数を調べてプログラムを作成したのですが、うまくいきません。。 お手数ですが、その方法ではどのように作成すればよいのか教えてもらえないでしょうか?