.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
-.TH GETOPT 3 2010\-11\-01 GNU "Linux Programmer's Manual"
+.\"
+.\" Japanese Version Copyright (c) 1998 NAKANO Takeo all rights reserved.
+.\" Translated 1998-08-12, NAKANO Takeo <nakano@apm.seikei.ac.jp>
+.\" Updated & Modified 1999-08-21, NAKANO Takeo <nakano@apm.seikei.ac.jp>
+.\" Updated & Modified 2001-07-01, Yuichi SATO <ysato@h4.dion.ne.jp>
+.\" Updated & Modified 2002-03-23, Yuichi SATO
+.\" Updated & Modified 2003-09-07, Yuichi SATO <ysato444@yahoo.co.jp>
+.\" Updated & Modified 2005-01-10, Yuichi SATO
+.\" Updated & Modified 2005-10-28, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
+.\" Updated & Modified 2006-01-18, Akihiro MOTOKI
+.\" Updated & Modified 2007-05-01, Akihiro MOTOKI, LDP v2.46
+.\" Updated 2008-08-11, Akihiro MOTOKI, LDP v3.05
+.\"
+.TH GETOPT 3 2015\-02\-01 GNU "Linux Programmer's Manual"
.SH 名前
getopt, getopt_long, getopt_long_only, optarg, optind, opterr, optopt \-
コマンドラインオプションを解釈する
.PP
\fIoptstring\fP は受け付けるオプション文字からなる文字列である。 文字のあとにコロン (:) が置かれている場合は、
オプションには引き数が必要であることを示す。 このとき \fBgetopt\fP() は、現在注目している \fIargv\fP
-è¦\81ç´ ã\81§ã\80\81ã\82ªã\83\97ã\82·ã\83§ã\83³æ\96\87å\97ã\81«å¼\95ã\81\8dç¶\9aã\81\8fã\83\86ã\82ã\82¹ã\83\88ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\81\8bã\80\81 ã\81\82ã\82\8bã\81\84ã\81¯æ¬¡ã\81® \fIargv\fP è¦\81ç´ ã\81®ã\83\86ã\82ã\82¹ã\83\88ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\82\92 \fIoptarg\fP ã\81«ä»£å\85¥ã\81\99ã\82\8bã\80\82
-2 個連続してコロンが置かれている場合は、 そのオプションは引き数をとってもとらなくてもよい。 現在の \fIargv\fP 要素にテキストがあれば
-(つまり、"\-oarg" のように、オプション名自身と同じワード内に テキストがある場合)、それが \fIoptarg\fP に返される。 なければ
-\fIoptarg\fP は 0 に設定される。 これは GNU による拡張である。 \fIoptstring\fP に \fBW\fP
+è¦\81ç´ ã\81§ã\80\81ã\82ªã\83\97ã\82·ã\83§ã\83³æ\96\87å\97ã\81«å¼\95ã\81\8dç¶\9aã\81\8fã\83\86ã\82ã\82¹ã\83\88ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\81\8bã\80\81 ã\81\82ã\82\8bã\81\84ã\81¯æ¬¡ã\81® \fIargv\fP è¦\81ç´ ã\81®ã\83\86ã\82ã\82¹ã\83\88ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\82\92 \fIoptarg\fP
+に代入する。 2 個連続してコロンが置かれている場合は、 そのオプションは引き数をとってもとらなくてもよい。 現在の \fIargv\fP
+要素にテキストがあれば (つまり、"\-oarg" のように、オプション名自身と同じワード内に テキストがある場合)、それが \fIoptarg\fP
+に返される。 なければ \fIoptarg\fP は 0 に設定される。 これは GNU による拡張である。 \fIoptstring\fP に \fBW\fP
とそれに続くセミコロンが入っていると、 \fB\-W foo\fP は長いオプション \fB\-\-foo\fP と同じように扱われる (POSIX.2 は \fB\-W\fP
オプションを実装依存の拡張として予約している)。 この動作は GNU による拡張であり、glibc 2 以前のライブラリでは 利用できない。
.PP
あるいは定義されたオプションに正確にマッチするものでも (当然) かまわない。 長いオプションは引き数を取ることができ、 \fB\-\-arg=param\fP
または \fB\-\-arg param\fP と言う形式で指定する。
.PP
-\fIlongopts\fP は \fIstruct option\fP の要素からなる配列の、先頭要素へのポインタである。 \fIstruct option\fP は
+\fIlongopts\fP ã\81¯ \fIstruct option\fP ã\81®è¦\81ç´ ã\81\8bã\82\89ã\81ªã\82\8bé\85\8då\88\97ã\81®ã\80\81å\85\88é è¦\81ç´ ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\81§ã\81\82ã\82\8bã\80\82 \fIstruct option\fP ã\81¯
\fI<getopt.h>\fP で以下のように定義されている。
.in +4n
.nf
配列の最後の要素は、全て 0 で埋められていなければならない。
.PP
\fIlongindex\fP は、NULL でなければ、 長いオプションのインデックスを \fIlongopts\fP
-からの相対位置として保持している変数へのポインタとなる。
+ã\81\8bã\82\89ã\81®ç\9b¸å¯¾ä½\8dç½®ã\81¨ã\81\97ã\81¦ä¿\9dæ\8c\81ã\81\97ã\81¦ã\81\84ã\82\8bå¤\89æ\95°ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\81¨ã\81ªã\82\8bã\80\82
.PP
\fBgetopt_long_only\fP() は \fBgetopt_long\fP() と同様の動作をするが、 \(aq\-\(aq も "\-\-"
と同様に、 長いオプションとして扱われる。\(aq\-\(aq で始まる ("\-\-" 以外の) オプションが、長いものにはマッチしないが短いものに
POSIX.2 における \fBgetopt\fP() の仕様には技術的な問題があり、 その内容は POSIX.2 Interpretation 150
に記されている。 GNU による実装では (おそらく他のすべての実装でも)、 仕様と異なる正しい動作をするように実装されている。
.SH 例
+.SS getopt()
以下に示す簡単なサンプルプログラムでは、 二種類のプログラムオプションを扱うのに \fBgetopt\fP() を使用している。一つは値を伴わない
\fI\-n\fP で、もう一つは対応する値が必要な \fI\-t val\fP である。
.nf
}
}
- printf("flags=%d; tfnd=%d; optind=%d\en", flags, tfnd, optind);
+ printf("flags=%d; tfnd=%d; nsecs=%d; optind=%d\en",
+ flags, tfnd, nsecs, optind);
if (optind >= argc) {
fprintf(stderr, "Expected argument after options\en");
exit(EXIT_SUCCESS);
}
.fi
-.PP
+.SS getopt_long()
以下は、 \fBgetopt_long\fP() の使用法を、ほぼすべての機能について示したプログラムの例である。
.nf
.sp
}
.fi
.SH 関連項目
-\fBgetsubopt\fP(3)
+\fBgetopt\fP(1), \fBgetsubopt\fP(3)
.SH この文書について
-この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.53 の一部
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.79 の一部
である。プロジェクトの説明とバグ報告に関する情報は
http://www.kernel.org/doc/man\-pages/ に書かれている。