• ベストアンサー

C言語でタイマーを作成する方法について

初歩的な質問で申し訳ございません。 C言語を使用して、 何らかのイベントから1分後にタイマーを設定し、時間が経過したら メッセージを表示するプログラムを作成する方法について 教えて頂けませんでしょうか? #マニュアルを調べてみると、setitimer()という関数があるよう #ですが、引数に渡す値がよくわかりません。この関数は関係ない??

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

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

『C言語』といってもいろいろな環境で実行されます settimerが使えるかどうかは 開発環境/実行環境に依存すると思いますよ 開発環境が VC++6.0 Pro 実行環境が Windows XP/2000 といった情報を質問には明記しましょう Windowsの場合 SetTimerは ウインドウハンドル、タイマーの識別子、間隔、タイマー処理実行コールバック関数ポインタといった引数を取ります タイマー識別子とは 1番は200msごと 2番は1sごとなどの判断するための番号 間隔は 1ms単位で指定する 1秒ならば1000 タイマー処理実行コールバック関数ポインタは特殊な処理をするのでなければ NULLでかまわない ウィンドウハンドルはこのタイマーを所有(使用)するウィンドウのハンドル タイマー処理実行コールバック関数ポインタでNULLを指定した場合 WndProcのWM_TIMERでタイマー起動時の処理を記述します 使い終わった場合 KillTimer(タイマー識別子); でタイマーを止めましょう

masy0312
質問者

お礼

ご回答ありがとうございました。 参考にさせて頂きます。

関連するQ&A

  • C言語 タイマーのソースについて

    C言語でタイマーを使ってprintf文を記述することで 「1秒経過」、「2秒経過」、「3秒経過」のように表示させたいのですが、どのように表示させるのでしょうか? タイマーの間隔は、できれば1 [ms]だとうれしいてす。 回答お願いします

  • イベントドリブン(C言語)

    イベントドリブン(C言語) こんにちわ、質問があります。 とあるイベントドリブン型のプログラムについて説明をされました。 ソフトはOS(元はハード)からManagerと言われる管理タスクにイベントが 飛んでいき、Managerから各タスクの関数がコールされる仕組みだそうでです。 また、それだけでなくOSから各タスクのコールバック(?)関数がコールされる事も あるそうです。 ◆質問 ここでいうイベントとは何なんでしょうか? 結局C言語なので、イベントと呼ばれているモノは関数コールなんでしょうか? C言語でイベントドリブン型プログラムを作成した事がある方、 自分ならこう作るぞという方、教えてください。

  • どなたか、教えていただけませんでしょうか(C言語)?

    皆様のお知恵を拝借したく思いまして 投稿させていただきました C言語についての質問なのですが (1)文字配列の引数を一度mainからプロトタイプ関数へ渡し 関数で宣言して表示。 (2)さらにその関数内で、値を変更して mainで表示する 方法を教えていただきたく思いますので、宜しくお願い致します

  • C言語の高階関数についてです。

    C言語の高階関数についてです。 double f ( (*g)(double) ){...} とすると「関数を引数にする関数」が作れますが、 「関数を引数にする関数」を引数にする関数って作れますか??? その場合は、引数のところどうやって書けばいいでしょうか??

  • C言語

    C言語による課題です.指数関数のマクローリン展開について,第n項までの近似値を求めるプログラムを作成し,各ステップごとに理論値との誤差を比較しなさい.(xとnは任意の値で自分で入力する.) 宜しくお願いします.

  • C言語でのコマンドライン引数の内部での処理のされ方

    C言語でint main(int argc, char *argv[])とメイン関数を宣言します。 2番目の引数はC言語の文法的にいうと文字列へのポインタの配列だとおもいますが、一般的な関数でこの引数に値を渡すとすると、以下のように宣言されたポインタ配列を渡すことになるとおもいます。 ・宣言 char *pa[]; ・関数への渡し func(pa); 話が元に戻りますが、main関数でもらう場合は、プログラム外部から与えられた引数は(正確に言うとアドレス)、メモリ上ではC言語で書かれたexeファイルの外から実行時にプログラムファイルのメモリ上にコピーされるのでしょうか? 自分でもうまく表現できないのですが、 ・コマンドプロンプトで引数を与えて実行         ↓ ・プログラムファイルのメモリ上に引数がロードされる ということでいいんでしょうか? 自分でもなんだかうまく表現できないので、お暇な方でよろしいので、気が向いた人、回答ください。 よろしくお願いします。

  • C言語(引数)

    はじめまして。 C言語を習い始めたものです。 関数を定義するとき、よく耳にする、仮引数や実引数があると思います。 仮引数は関数の定義内で値をうけとる変数のことであり 実引数は関数を呼び出す際に渡す値を実引数というらしいのですが どこからどこまでを仮引数と呼ぶのかわかりません。 例えば、 fの関数の定義内で ↓があるとします。 (関数にする意味はないのですが、確認のためあしからず・・・) double f(double x) {     x=5;     return(x); } この場合、仮引数とよばれるものは double f(double x)の xが仮引数であって x=5;のxは仮引数と呼ばないのでしょうか?? もしそうならば void f(double x) { printf("%f",x); } のprintf("%f",x);内のxは仮引数とよぶのでしょうか? 質問の内容が意味不明かもしれませんが よろしくお願いします。

  • UNIX C言語 複数プロセスの起動方法

    UNIX C言語の質問です。 複数プロセスの起動の仕方を教えてください。 あるプログラムは、ユーザーからの入力待ち状態になると同時に、所定時間のタイマーを起動し、ユーザーからの入力がなく、所定時間が経過したら、待ち状態を解除する ということをしたいと思っています。 今の考えでは、 ある Aプロセスから、Bプロセス(タイマー)を起動し、Bプロセスが所定時間をカウントし、タイマー満了後、Aプロセスに通知する ということがしたいと思っています。 UNIX、Cともに初心者です。 大変、初歩的な質問で申し訳ありませんが、ご助言お願いいたします。

  • c言語で作成したデータをwindowsのアプリ(VB6で作成)で読み取りたいのですが

    VBで作成したアプリの中の変数の値をC言語で作成したプログラムで参照したり、C言語の変数(メモリの値)をVBのアプリで参照したいのですが、どのようにすればいいのでしょうか。 よろしくお願いします。

  • C言語:関数の返り値と引数について

    C言語:関数の返り値と引数について C言語の関数を作るとき、ほしい値とかを引数にして渡す場合と、そのまま返り値で渡す場合の二種類がありますよね? 例えば、 ・void Smooth( Image *src, Image *dst, int param ); ・Image *Smooth( Image *src, int param ); みたいな感じで mallocとかは返り値で渡してますけど、opencvの関数(例えばcvSmooth)とかは引数にしてます これって使い分けとかあるんでしょうか?