掲示板利用宣言

 次のフォームをすべてチェックしてからご利用ください。

 私は

 題名と投稿者名は具体的に書きます。
 課題の丸投げはしません。
 ソースの添付は「HTML変換ツール」で字下げします。
 返信の引用は最小限にします。
 環境(OSとコンパイラ)や症状は具体的に詳しく書きます。
 返信の付いた投稿は削除しません。
 マルチポスト(多重投稿)はしません。

掲示板2

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧

No.30451

sigaction()についてですが
投稿者---アイリ(2007/07/05 20:39:18)


はじめまして、アイリと言います。
早速なのですが・・・

下のプログラムまで何とか出来たのですが、コマンドライン引数で状態名を与えるようにしたいのですが、(たとえば、コマンド名 blue green yellow orange redのように実行すると、blue green yellow orange red の順に変化するようする。)どうしてもわかりません。
教えてください!お願いします。

環境
OS:Linux
コンパイラ:gcc

#include <signal.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

volatile int    operation_status = 2;

static void
handler_decrement_status(int sig)
{
    operation_status --;
}

static const char   *status_name_table[] = {
    "red", "yellow", "blue"
};

main(int argc, char *argv[])
{
    int n;
    struct sigaction    act;

    act.sa_handler = handler_decrement_status;
    sigemptyset(&act.sa_mask);
    act.sa_flags = 0;
    sigaction(SIGINT, &act, NULL);
    while ((n = operation_status) >= 0) {
        printf("Condition %s.\n", status_name_table[n]);
        sleep(1);
    }
    return 0;
}






この投稿にコメントする

削除パスワード

発言に関する情報 題名 投稿番号 投稿者名 投稿日時
<子記事> Re:sigaction()についてですが 30452 かずま 2007/07/06 01:09:13


No.30452

Re:sigaction()についてですが
投稿者---かずま(2007/07/06 01:09:13)


> (たとえば、コマンド名 blue green yellow orange redのように実行すると、
> blue green yellow orange red の順に変化するようする。)

変更部分のみを示します。
handler_decrement_status(int sig)
{
    operation_status++;
}

    operation_status = 1;
    while ((n = operation_status) < argc) {
        printf("Condition %s.\n", argv[n]);



この投稿にコメントする

削除パスワード

No.30454

Re:sigaction()についてですが
投稿者---アイリ(2007/07/06 12:54:59)


>> (たとえば、コマンド名 blue green yellow orange redのように実行すると、
>> blue green yellow orange red の順に変化するようする。)
>
>変更部分のみを示します。
><pre>
handler_decrement_status(int sig)
{
operation_status++;
}

operation_status = 1;
while ((n = operation_status) < argc) {
printf("Condition %s.\n", argv[n]);
</pre>


きちんと変更したら、コンパイルも通り、上手くできました!
本当にありがとうございました。


この投稿にコメントする

削除パスワード

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧