ここから本文です

解決済みの質問

C言語についてです。 -h オプション… ヘルプメッセージを出力する という問題で

guidedearaさん

C言語についてです。
-h オプション… ヘルプメッセージを出力する
という問題で

# ./a.exe -h
./a.exe [-a num] [-b num] [-c] [-h]
./a.exe prints DATE
-a num ’num’ days AFTER the ’date’
-b num ’num’ days BEFORE the ’date’
-c print CALENDAR
-h print HELP messages

と表示させるためにはvoid usage(char *s)
{
……
}
の中身をどうしたらよいんでしょうか?

ヘルプメッセージを出力するとき、実行可
能ファイル名の./a.exe の部分はコンパイ
ル時に-o オプションで実行可能ファイル
名を指定したときは、そのファイル名にな
るようにすること。

という条件もあります。
よろしくお願いします。

補足
ヘルプメッセージは stderr へ出力するように作成したいのですが、これで大丈夫でしょうか?

この質問は、活躍中のチエリアンに回答をリクエストしました。

違反報告

ベストアンサーに選ばれた回答

anarka_hypnotistさん

#include <stdio.h>
#include <string.h>

void usage(char *);

int main(int argc,char *argv[]) {
if (strcmp(argv[1],"-h") == 0) {
usage(argv[0]);
}

return 0;
}

void usage(char *prg) {
printf("%s [-a num] [-b num] [-c] [-h]\n",prg);
printf("%s prints DATE\n",prg);
printf("-a num ’num’ days AFTER the ’date’\n");
printf ("-b num ’num’ days BEFORE the ’date’\n");
printf("-c print CALENDAR\n");
printf("-h print HELP messages\n");
}
--------------------------------------------------------
argv[0]にプログラム名が格納されている

補足
printf("・・・") → fprintf(stderr,"・・・")

  • 違反報告
  • 編集日時:2012/1/31 11:43:29
  • 回答日時:2012/1/30 21:38:23

この質問は投票によってベストアンサーが選ばれました!

この質問・回答は役に立ちましたか?
役に立った!

お役立ち度:お役立ち度 0点(5点満点中)0人が役に立つと評価しています。

知恵ノートとは?

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。

お客様自身の責任と判断で、ご利用ください。

話題のキーワード

[カテゴリ:C言語関連]

ただいまの回答者

01時39分現在

2355
人が回答!!

1時間以内に4,300件の回答が寄せられています。

>>回答ひろばに行く


知恵コレに追加する

閉じる

知恵コレクションをするID/ニックネームを選択し、「追加する」ボタンを押してください。
※知恵コレクションに追加された質問や知恵ノートは選択されたID/ニックネームのMy知恵袋で確認できます。

ほかのID/ニックネームで利用登録する