OSDN Git Service

Update README
[linuxjm/LDP_man-pages.git] / release / man3 / scanf.3
index 5bdca13..e9e6662 100644 (file)
 .\" This file was generated with po4a. Translate the source file.
 .\"
 .\"*******************************************************************
-.TH SCANF 3 2013\-01\-30 GNU "Linux Programmer's Manual"
+.\"
+.\" Japanese Version Copyright (c) 1997 YOSHINO Takashi
+.\"       all rights reserved.
+.\" Translated 1998-02-17, YOSHINO Takashi <yoshino@civil.jcn.nihon-u.ac.jp>
+.\" Updated 2003-02-23, Kentaro Shirakata <argrath@ub32.org>
+.\" Updated 2005-09-18, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
+.\" Updated 2008-08-11, Akihiro MOTOKI, LDP v3.05
+.\" Updated 2012-04-30, Akihiro MOTOKI <amotoki@gmail.com>
+.\" Updated 2012-05-29, Akihiro MOTOKI <amotoki@gmail.com>
+.\" Updated 2013-05-01, Akihiro MOTOKI <amotoki@gmail.com>
+.\" Updated 2013-05-04, Akihiro MOTOKI <amotoki@gmail.com>
+.\" Updated 2013-07-22, Akihiro MOTOKI <amotoki@gmail.com>
+.\"
+.TH SCANF 3 2014\-01\-11 GNU "Linux Programmer's Manual"
 .SH 名前
 scanf, fscanf, sscanf, vscanf, vsscanf, vfscanf \- 書式付き入力変換
 .SH 書式
@@ -81,7 +94,7 @@ glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7)  参
 .RS 4
 _XOPEN_SOURCE\ >=\ 600 || _ISOC99_SOURCE || _POSIX_C_SOURCE\ >=\ 200112L;
 .br
-or \fIcc \-std=c99\fP
+または \fIcc \-std=c99\fP
 .ad
 .RE
 .SH 説明
@@ -93,11 +106,11 @@ or \fIcc \-std=c99\fP
 \fIformat\fP 中の変換指定の個数が \fIpointer\fP 引き数の数より多かった場合の結果は未定義である。 \fIpointer\fP
 引き数の数が変換指定の個数よりも多かった場合、 余分な \fIpointer\fP 引き数の評価は行われるが、それ以外は行われず無視される。
 
-\fBscanf\fP()  関数は標準入力ストリーム \fIstdin\fP からの入力を読み込む。 \fBfscanf\fP()  はストリームポインタ
-\fIstream\fP からの入力を読み込む。 \fBsscanf\fP()  は文字列ポインタ \fIstr\fP で示された文字列からの入力を読み込む。
+\fBscanf\fP()  関数は標準入力ストリーム \fIstdin\fP からの入力を読み込む。 \fBfscanf\fP()  はストリームポインタ
+\fIstream\fP からの入力を読み込む。 \fBsscanf\fP()  は文字列ポインタ \fIstr\fP で示された文字列からの入力を読み込む。
 .PP
-\fBvfscanf\fP()  関数は \fBvfprintf\fP(3)  と同様に、ストリームポインタ \fIstream\fP
-からの入力をポインタの可変長引き数リストを用いて読み込む (\fBstdarg\fP(3)  を参照)。 \fBvscanf\fP()
+\fBvfscanf\fP()  関数は \fBvfprintf\fP(3)  と同様に、ストリームポインタ \fIstream\fP
\81\8bã\82\89ã\81®å\85¥å\8a\9bã\82\92ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\81®å\8f¯å¤\89é\95·å¼\95ã\81\8dæ\95°ã\83ªã\82¹ã\83\88ã\82\92ç\94¨ã\81\84ã\81¦èª­ã\81¿è¾¼ã\82\80 (\fBstdarg\fP(3)  ã\82\92å\8f\82ç\85§)ã\80\82 \fBvscanf\fP()
 関数は、可変長引き数のリストに基づき標準入力からの読み取りを行う。 \fBvsscanf\fP()  関数はそのリストに基づき文字列から読み取る。
 これらの関係は \fBvprintf\fP(3)  と \fBvsprintf\fP(3)  関数の関係と同様である。
 .PP
@@ -128,20 +141,17 @@ failure)\fP と \fI「一致の失敗」 (matching failure)\fP のいずれか
 \fIpointer\fP 引き数は必要なく、 \fBscanf\fP()  が返す代入が成功した数にこの指定は含まれない。
 .TP 
 \(bu
-An optional \(aqm\(aq character.  This is used with string conversions
-(\fI%s\fP, \fI%c\fP, \fI%[\fP), and relieves the caller of the need to allocate a
-corresponding buffer to hold the input: instead, \fBscanf\fP()  allocates a
-buffer of sufficient size, and assigns the address of this buffer to the
-corresponding \fIpointer\fP argument, which should be a pointer to a \fIchar *\fP
-variable (this variable does not need to be initialized before the call).
-The caller should subsequently \fBfree\fP(3)  this buffer when it is no longer
-required.
+文字 \(aqm\(aq (省略可能)。これは文字列変換 (\fI%s\fP, \fI%c\fP, \fI%[\fP) とともに使用され、これを使うと
+呼び出し元が入力を保持する対応するバッファーを確保する必要がなくなる。 代わりに \fBscanf\fP()
+が必要な大きさのバッファーを確保し、このバッファーのアドレスを 対応する \fIpointer\fP 引き数に代入する。 \fIpointer\fP 引き数は
+\fIchar\ *\fP 型の変数へのポインターでなければならない (変数自体は呼び出し前に初期化されている必要はない)。
+呼び出し元は、不要になった時点で、このバッファーを \fBfree\fP(3) すべきである。
 .TP 
 \(bu
 \fI「最大フィールド幅」\fP を指定する 10進数 (省略可能)。 この最大値に達するか、一致しない文字が見つかるか、のどちらかに
 なると、文字の読み込みを停止する。 ほとんどの変換では、先頭のホワイトスペース文字は捨てられ (例外については後述する)、
-捨てられたこれらの文字は最大フィールド幅の計算には含まれない。 文字列の入力変換では、入力の末尾を示す終端の NULL バイト
-(\(aq\e0\(aq)  も格納されるが、最大フィールド幅にはこの終端バイトは含まれない。
+捨てられたこれらの文字は最大フィールド幅の計算には含まれない。 文字列の入力変換では、入力の末尾を示す終端のヌルバイト (\(aq\e0\(aq)
+も格納されるが、最大フィールド幅にはこの終端バイトは含まれない。
 .TP 
 \(bu
 \fI「型修飾子」 (type modifier characters)\fP (省略可能)。 例えば、型修飾子 \fBl\fP を \fB%d\fP
@@ -160,23 +170,23 @@ required.
 変換指定には、以下の \fI「型修飾子」\fP を入れることができる。
 .TP 
 \fBh\fP
-変換が \fBd\fP, \fBi\fP, \fBo\fP, \fBu\fP, \fBx\fP, \fBX\fP, \fBn\fP のいずれかであり、次のポインタが (\fIint\fP ではなく)
-\fIshort int\fP か \fIunsigned short int\fP へのポインタであることを示す。
+å¤\89æ\8f\9bã\81\8c \fBd\fP, \fBi\fP, \fBo\fP, \fBu\fP, \fBx\fP, \fBX\fP, \fBn\fP ã\81®ã\81\84ã\81\9aã\82\8cã\81\8bã\81§ã\81\82ã\82\8aã\80\81次ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\81\8c (\fIint\fP ã\81§ã\81¯ã\81ªã\81\8f)
+\fIshort int\fP ã\81\8b \fIunsigned short int\fP ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\81§ã\81\82ã\82\8bã\81\93ã\81¨ã\82\92示ã\81\99ã\80\82
 .TP 
 \fBhh\fP
-\fBh\fP ã\81¨å\90\8cã\81\98ã\81 ã\81\8cã\80\81次ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\81\8c \fIsigned char\fP ã\81\8b \fIunsigned char\fP ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿であることを示す。
+\fBh\fP ã\81¨å\90\8cã\81\98ã\81 ã\81\8cã\80\81次ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\81\8c \fIsigned char\fP ã\81\8b \fIunsigned char\fP ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼であることを示す。
 .TP 
 \fBj\fP
-\fBh\fP ã\81¨å\90\8cã\81\98ã\81 ã\81\8cã\80\81次ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\81\8c \fIintmax_t\fP ã\81\8b \fIuintmax_t\fP ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿であることを示す。 この修飾子は C99
+\fBh\fP ã\81¨å\90\8cã\81\98ã\81 ã\81\8cã\80\81次ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\81\8c \fIintmax_t\fP ã\81\8b \fIuintmax_t\fP ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼であることを示す。 この修飾子は C99
 で導入された。
 .TP 
 \fBl\fP
 .\" This use of l was introduced in Amendment 1 to ISO C90.
-変換が \fBd\fP, \fBi\fP, \fBo\fP, \fBu\fP, \fBx\fP, \fBX\fP, \fBn\fP か \fBn\fP のいずれかであり次のポインタが (\fIint\fP
-ではなく)  \fIlong int\fP か \fIunsigned long int\fP へのポインタであること、または、変換が \fBe\fP, \fBf\fP,
-\fBg\fP ã\81®ã\81\86ã\81¡ã\81®ã\81²ã\81¨ã\81¤ã\81§ã\81\82ã\82\8a次ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\81\8c (\fIfloat\fP ã\81§ã\81¯ã\81ªã\81\8f)  \fIdouble\fP ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\81§ã\81\82ã\82\8bã\81\93ã\81¨ã\81®ã\81\84ã\81\9aã\82\8cã\81\8bã\81§ã\81\82ã\82\8bã\81\93ã\81¨ã\82\92示ã\81\99ã\80\82
-\fBl\fP 文字を二つ指定すると、 \fBL\fP と同じ意味となる。 \fB%c\fP や \fB%s\fP とともに使用すると、
\83\91ã\83©ã\83¡ã\83¼ã\82¿ã\81¯ã\81\9dã\82\8cã\81\9eã\82\8cã\83¯ã\82¤ã\83\89æ\96\87å­\97ã\82\84ã\83¯ã\82¤ã\83\89æ\96\87å­\97å\88\97ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿であると みなされる。
+å¤\89æ\8f\9bã\81\8c \fBd\fP, \fBi\fP, \fBo\fP, \fBu\fP, \fBx\fP, \fBX\fP, \fBn\fP ã\81\8b \fBn\fP ã\81®ã\81\84ã\81\9aã\82\8cã\81\8bã\81§ã\81\82ã\82\8a次ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\81\8c (\fIint\fP
\81§ã\81¯ã\81ªã\81\8f)  \fIlong int\fP ã\81\8b \fIunsigned long int\fP ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\81§ã\81\82ã\82\8bã\81\93ã\81¨ã\80\81ã\81¾ã\81\9fã\81¯ã\80\81å¤\89æ\8f\9bã\81\8c \fBe\fP, \fBf\fP,
+\fBg\fP ã\81®ã\81\86ã\81¡ã\81®ã\81²ã\81¨ã\81¤ã\81§ã\81\82ã\82\8a次ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\81\8c (\fIfloat\fP ã\81§ã\81¯ã\81ªã\81\8f)  \fIdouble\fP
+へのポインターであることのいずれかであることを示す。 \fBl\fP 文字を二つ指定すると、 \fBL\fP と同じ意味となる。 \fB%c\fP や \fB%s\fP
\81¨ã\81¨ã\82\82ã\81«ä½¿ç\94¨ã\81\99ã\82\8bã\81¨ã\80\81 ã\83\91ã\83©ã\83¡ã\83¼ã\82¿ã\83¼ã\81¯ã\81\9dã\82\8cã\81\9eã\82\8cã\83¯ã\82¤ã\83\89æ\96\87å­\97ã\82\84ã\83¯ã\82¤ã\83\89æ\96\87å­\97å\88\97ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼であると みなされる。
 .TP 
 \fBL\fP
 .\" MTK, Jul 05: The following is no longer true for modern
@@ -185,17 +195,17 @@ required.
 .\" ANSI C
 .\" type. Any program using this will not be portable to all
 .\" architectures).
-\fBe\fP, \fBf\fP, \fBg\fP å¤\89æ\8f\9bã\81§ã\80\81次ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\81\8c \fIlong double\fP ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\81§ã\81\82ã\82\8bã\81\93ã\81¨ã\82\92示ã\81\99ã\80\82ã\82\82ã\81\97ã\81\8fã\81¯ã\80\81 \fBd\fP, \fBi\fP,
-\fBo\fP, \fBu\fP, \fBx\fP 変換で、次のポインタが \fIlong long\fP へのポインタであることのいずれかであることを示す。
+\fBe\fP, \fBf\fP, \fBg\fP å¤\89æ\8f\9bã\81§ã\80\81次ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\81\8c \fIlong double\fP ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\81§ã\81\82ã\82\8bã\81\93ã\81¨ã\82\92示ã\81\99ã\80\82ã\82\82ã\81\97ã\81\8fã\81¯ã\80\81 \fBd\fP,
+\fBi\fP, \fBo\fP, \fBu\fP, \fBx\fP 変換で、次のポインターが \fIlong long\fP へのポインターであることのいずれかであることを示す。
 .TP 
 \fBq\fP
 \fBL\fP と同一である。 この修飾子は ANSI C には存在しない。
 .TP 
 \fBt\fP
-\fBh\fP ã\81¨å\90\8cæ§\98ã\81 ã\81\8cã\80\81次ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\81\8c \fIptrdiff_t\fP ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿であることを示す。 この修飾子は C99 で導入された。
+\fBh\fP ã\81¨å\90\8cæ§\98ã\81 ã\81\8cã\80\81次ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\81\8c \fIptrdiff_t\fP ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼であることを示す。 この修飾子は C99 で導入された。
 .TP 
 \fBz\fP
-\fBh\fP ã\81¨å\90\8cæ§\98ã\81 ã\81\8cã\80\81次ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\81\8c \fIsize_t\fP ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿であることを示す。 この修飾子は C99 で導入された。
+\fBh\fP ã\81¨å\90\8cæ§\98ã\81 ã\81\8cã\80\81次ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\81\8c \fIsize_t\fP ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼であることを示す。 この修飾子は C99 で導入された。
 .PP
 以下の \fI「変換指定子」\fP が利用可能である。
 .TP 
@@ -204,31 +214,31 @@ required.
 (但し、先頭のホワイトスペース文字は捨てられる)、 変数への代入は生じない。
 .TP 
 \fBd\fP
-符å\8f·ã\81¤ã\81\8dã\81® 10é\80²ã\81®æ\95´æ\95°ã\81«å¯¾å¿\9cã\81\99ã\82\8bã\80\82 æ¬¡ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\81¯ \fIint\fP ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿でなければならない。
+符å\8f·ã\81¤ã\81\8dã\81® 10é\80²ã\81®æ\95´æ\95°ã\81«å¯¾å¿\9cã\81\99ã\82\8bã\80\82 æ¬¡ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\81¯ \fIint\fP ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼でなければならない。
 .TP 
 \fBD\fP
 \fIld\fP と同一である。これは以前の仕様との互換性だけのためにある。 (注意: これは libc4 の場合だけである。 libc5 や glibc
 では \fB%D\fP は暗黙のうちに無視され、古いプログラムにおいて謎に満ちた失敗の原因となる。)
 .TP 
 \fBi\fP
-符å\8f·ã\81¤ã\81\8dæ\95´æ\95°ã\81«å¯¾å¿\9cã\81\99ã\82\8bã\80\82 æ¬¡ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\81¯ \fIint\fP ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\81§ã\81ªã\81\91ã\82\8cã\81°ã\81ªã\82\89ã\81ªã\81\84ã\80\82 ã\81\93ã\81®æ\95´æ\95°ã\81¯ \fI0x\fP ã\81¾ã\81\9fã\81¯ \fI0X\fP ã\81§é\96\8bå§\8bã\81\99ã\82\8bå ´å\90\88ã\81«ã\81¯
-16 進数、 \fI0\fP で開始する場合には 8 進数、その他の場合には 10進数として読み込まれる。
+符å\8f·ã\81¤ã\81\8dæ\95´æ\95°ã\81«å¯¾å¿\9cã\81\99ã\82\8bã\80\82 æ¬¡ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\81¯ \fIint\fP ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\81§ã\81ªã\81\91ã\82\8cã\81°ã\81ªã\82\89ã\81ªã\81\84ã\80\82 ã\81\93ã\81®æ\95´æ\95°ã\81¯ \fI0x\fP ã\81¾ã\81\9fã\81¯ \fI0X\fP
+で開始する場合には 16 進数、 \fI0\fP で開始する場合には 8 進数、その他の場合には 10進数として読み込まれる。
 この変換で使用される文字は、これらの基数に対応しているものだけである。
 .TP 
 \fBo\fP
-符号なしの 8 進の整数に対応する。 次のポインタは \fIunsigned int\fP でなければならない。
+符å\8f·ã\81ªã\81\97ã\81® 8 é\80²ã\81®æ\95´æ\95°ã\81«å¯¾å¿\9cã\81\99ã\82\8bã\80\82 æ¬¡ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\81¯ \fIunsigned int\fP ã\81§ã\81ªã\81\91ã\82\8cã\81°ã\81ªã\82\89ã\81ªã\81\84ã\80\82
 .TP 
 \fBu\fP
-符å\8f·ã\81ªã\81\97ã\81® 10é\80²ã\81®æ\95´æ\95°ã\81«å¯¾å¿\9cã\81\99ã\82\8bã\80\82 æ¬¡ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\81¯ \fIunsigned int\fP ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿でなければならない。
+符å\8f·ã\81ªã\81\97ã\81® 10é\80²ã\81®æ\95´æ\95°ã\81«å¯¾å¿\9cã\81\99ã\82\8bã\80\82 æ¬¡ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\81¯ \fIunsigned int\fP ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼でなければならない。
 .TP 
 \fBx\fP
-符å\8f·ã\81ªã\81\97ã\81® 16 é\80²ã\81®æ\95´æ\95°ã\81«å¯¾å¿\9cã\81\99ã\82\8bã\80\82 æ¬¡ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\81¯ \fIunsigned int\fP ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿でなければならない。
+符å\8f·ã\81ªã\81\97ã\81® 16 é\80²ã\81®æ\95´æ\95°ã\81«å¯¾å¿\9cã\81\99ã\82\8bã\80\82 æ¬¡ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\81¯ \fIunsigned int\fP ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼でなければならない。
 .TP 
 \fBX\fP
 \fBx\fP と同一である。
 .TP 
 \fBf\fP
-符å\8f·ã\81¤ã\81\8dæµ®å\8b\95å°\8fæ\95°ç\82¹å®\9fæ\95°ã\81«å¯¾å¿\9cã\81\99ã\82\8bã\80\82 æ¬¡ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\81¯ \fIfloat\fP ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿でなければならない。
+符å\8f·ã\81¤ã\81\8dæµ®å\8b\95å°\8fæ\95°ç\82¹å®\9fæ\95°ã\81«å¯¾å¿\9cã\81\99ã\82\8bã\80\82 æ¬¡ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\81¯ \fIfloat\fP ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼でなければならない。
 .TP 
 \fBe\fP
 \fBf\fP と同一である。
@@ -243,19 +253,19 @@ required.
 (C99)  \fBf\fP と同一である。
 .TP 
 \fBs\fP
\83\9bã\83¯ã\82¤ã\83\88ã\82¹ã\83\9aã\83¼ã\82¹ã\81§ã\81¯ã\81ªã\81\84æ\96\87å­\97ã\81§æ§\8bæ\88\90ã\81\95ã\82\8cã\81\9fæ\96\87å­\97å\88\97ã\81«å¯¾å¿\9cã\81\99ã\82\8bã\80\82 æ¬¡ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\81¯æ\96\87å­\97ã\81®é\85\8då\88\97ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\81§ã\81ªã\81\91ã\82\8cã\81°ã\81ªã\82\89ã\81\9aã\80\81 ã\81\9dã\81®æ\96\87å­\97é\85\8då\88\97ã\81¯ã\80\81å\85¥å\8a\9bã\81\95ã\82\8cã\81\9fæ\96\87å­\97å\88\97ã\81¨
-(自動的に追加される) 終端の NULL バイト (\(aq\e0\(aq) を格納するのに十分な大きさでなければならない。
\83\9bã\83¯ã\82¤ã\83\88ã\82¹ã\83\9aã\83¼ã\82¹ã\81§ã\81¯ã\81ªã\81\84æ\96\87å­\97ã\81§æ§\8bæ\88\90ã\81\95ã\82\8cã\81\9fæ\96\87å­\97å\88\97ã\81«å¯¾å¿\9cã\81\99ã\82\8bã\80\82 æ¬¡ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\81¯æ\96\87å­\97ã\81®é\85\8då\88\97ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\81§ã\81ªã\81\91ã\82\8cã\81°ã\81ªã\82\89ã\81\9aã\80\81
+その文字配列は、入力された文字列と (自動的に追加される) 終端のヌルバイト (\(aq\e0\(aq) を格納するのに十分な大きさでなければならない。
 文字列の入力は、ホワイトスペースが入力されるか、最大フィールド幅に 達するか、のどちらかが起こると停止される。
 .TP 
 \fBc\fP
-\fI「最大フィールド幅」\fP (デフォルトは 1) で指定された幅の文字の列に対応する。 次のポインタは \fIchar\fP
\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\81§ã\80\81ã\81\99ã\81¹ã\81¦ã\81®æ\96\87å­\97ã\82\92æ ¼ç´\8dã\81\99ã\82\8bã\81®ã\81«å\8d\81å\88\86ã\81ªé \98å\9f\9fã\81\8c ã\81ªã\81\91ã\82\8cã\81°ã\81ªã\82\89ã\81ªã\81\84 (çµ\82端ã\81® NULL バイトは追加されない)。
+\fIã\80\8cæ\9c\80大ã\83\95ã\82£ã\83¼ã\83«ã\83\89å¹\85ã\80\8d\fP (ã\83\87ã\83\95ã\82©ã\83«ã\83\88ã\81¯ 1) ã\81§æ\8c\87å®\9aã\81\95ã\82\8cã\81\9få¹\85ã\81®æ\96\87å­\97ã\81®å\88\97ã\81«å¯¾å¿\9cã\81\99ã\82\8bã\80\82 æ¬¡ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\81¯ \fIchar\fP
\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\81§ã\80\81ã\81\99ã\81¹ã\81¦ã\81®æ\96\87å­\97ã\82\92æ ¼ç´\8dã\81\99ã\82\8bã\81®ã\81«å\8d\81å\88\86ã\81ªé \98å\9f\9fã\81\8c ã\81ªã\81\91ã\82\8cã\81°ã\81ªã\82\89ã\81ªã\81\84 (çµ\82端ã\81®ã\83\8cã\83«バイトは追加されない)。
 通常行われる先頭のホワイトスペースの読み飛ばしは行われない。 先頭のホワイトスペースを読み飛ばすためには、
 フォーマット文の中で明示的にスペースを使用すれば良い。
 .TP 
 \fB\&[\fP
-格納された文字列のうちから取り出された、 指定された文字の集合で構成される空ではない文字の列に対応する。 次のポインタは \fIchar\fP
\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\81§ã\81ªã\81\91ã\82\8cã\81°ã\81ªã\82\89ã\81\9aã\80\81 ã\81\9dã\81\93ã\81«ã\81¯æ\96\87å­\97å\88\97中ã\81®ã\81\99ã\81¹ã\81¦ã\81®æ\96\87å­\97ã\81¨çµ\82端ã\81® NULL バイト を格納するための十分な領域がなければならない。
+æ ¼ç´\8dã\81\95ã\82\8cã\81\9fæ\96\87å­\97å\88\97ã\81®ã\81\86ã\81¡ã\81\8bã\82\89å\8f\96ã\82\8aå\87ºã\81\95ã\82\8cã\81\9fã\80\81 æ\8c\87å®\9aã\81\95ã\82\8cã\81\9fæ\96\87å­\97ã\81®é\9b\86å\90\88ã\81§æ§\8bæ\88\90ã\81\95ã\82\8cã\82\8b空ã\81§ã\81¯ã\81ªã\81\84æ\96\87å­\97ã\81®å\88\97ã\81«å¯¾å¿\9cã\81\99ã\82\8bã\80\82 æ¬¡ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\81¯ \fIchar\fP
\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\81§ã\81ªã\81\91ã\82\8cã\81°ã\81ªã\82\89ã\81\9aã\80\81 ã\81\9dã\81\93ã\81«ã\81¯æ\96\87å­\97å\88\97中ã\81®ã\81\99ã\81¹ã\81¦ã\81®æ\96\87å­\97ã\81¨çµ\82端ã\81®ã\83\8cã\83«バイト を格納するための十分な領域がなければならない。
 通常行われる先頭のホワイトスペースの読み飛ばしは行われない。 この文字列は特別な集合の中の文字で構成されている。 この集合は 開き括弧 \fB[\fP
 と閉じ括弧 \fB]\fP の間の文字で定義される。 開き括弧のあとの最初の文字が曲アクセント記号 (\fB^\fP)
 の場合、集合はこれらの文字を含まないものとなる。 閉じ括弧を集合に含ませるためには、この文字を開き括弧または
@@ -266,12 +276,12 @@ required.
 出現または確保された領域が使い切られた時に終了する。
 .TP 
 \fBp\fP
-(\fBprintf\fP(3)  の \fB%p\fP で印字されるような) ポインタ値に対応する。 次のポインタは \fIvoid\fP
\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿でなければならない。
+(\fBprintf\fP(3)  の \fB%p\fP で印字されるような) ポインター値に対応する。 次のポインターは \fIvoid\fP
\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼でなければならない。
 .TP 
 \fBn\fP
\81©ã\82\93ã\81ªå\85¥å\8a\9bã\82\82å¿\85è¦\81ã\81¨ã\81\97ã\81ªã\81\84ã\80\82 ã\81\9dã\81®ã\81\8bã\82\8fã\82\8aã\81«ã\80\81 å\85¥å\8a\9bã\81\8bã\82\89ã\81\93ã\81\93ã\81¾ã\81§æ¶\88è²»ã\81\95ã\82\8cã\81\9fæ\96\87å­\97æ\95°ã\81\8c次ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\81§æ\8c\87å®\9aã\81\95ã\82\8cã\81\9få ´æ\89\80ã\81« æ ¼ç´\8dã\81\95ã\82\8cã\82\8bã\80\82 ã\81\93ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\81¯ \fIint\fP
-へのポインタでなければならない。 変換を抑制するのであれば \fB*\fP 代入抑制文字を使って抑制することができるのだが、
\81©ã\82\93ã\81ªå\85¥å\8a\9bã\82\82å¿\85è¦\81ã\81¨ã\81\97ã\81ªã\81\84ã\80\82 ã\81\9dã\81®ã\81\8bã\82\8fã\82\8aã\81«ã\80\81 å\85¥å\8a\9bã\81\8bã\82\89ã\81\93ã\81\93ã\81¾ã\81§æ¶\88è²»ã\81\95ã\82\8cã\81\9fæ\96\87å­\97æ\95°ã\81\8c次ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\81§æ\8c\87å®\9aã\81\95ã\82\8cã\81\9få ´æ\89\80ã\81« æ ¼ç´\8dã\81\95ã\82\8cã\82\8bã\80\82 ã\81\93ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\81¯
+\fIint\fP へのポインターでなければならない。 変換を抑制するのであれば \fB*\fP 代入抑制文字を使って抑制することができるのだが、
 この変換指定子は変換では「ない」。 C 言語の標準規格では「実行の完了時に返される代入の回数は \fB%n\fP 命令の実行では増加しない」となっているが、
 正誤表の内容はこれと矛盾するようである。おそらく、 \fB%n\fP 変換が返り値に与える影響についてはどのような仮定もしないのが 賢明であろう。
 .SH 返り値
@@ -284,10 +294,10 @@ required.
 .SH エラー
 .TP 
 \fBEAGAIN\fP
-\fIstream\fP に対応するファイルディスクリプタが nonblocking となっており、 読み込み操作は停止 (block) することになる。
+\fIstream\fP ã\81«å¯¾å¿\9cã\81\99ã\82\8bã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81\8c nonblocking ã\81¨ã\81ªã\81£ã\81¦ã\81\8aã\82\8aã\80\81 èª­ã\81¿è¾¼ã\81¿æ\93\8dä½\9cã\81¯å\81\9cæ­¢ (block) ã\81\99ã\82\8bã\81\93ã\81¨ã\81«ã\81ªã\82\8bã\80\82
 .TP 
 \fBEBADF\fP
-\fIstream\fP に対応するファイルディスクリプタが無効であるが、 読み込み用にオープンされていない。
+\fIstream\fP ã\81«å¯¾å¿\9cã\81\99ã\82\8bã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81\8cç\84¡å\8a¹ã\81§ã\81\82ã\82\8bã\81\8cã\80\81 èª­ã\81¿è¾¼ã\81¿ç\94¨ã\81«ã\82ªã\83¼ã\83\97ã\83³ã\81\95ã\82\8cã\81¦ã\81\84ã\81ªã\81\84ã\80\82
 .TP 
 \fBEILSEQ\fP
 入力されたバイト列が有効な文字を構成していない。
@@ -299,7 +309,7 @@ required.
 引き数が十分でない。または \fIformat\fP が NULL である。
 .TP 
 \fBENOMEM\fP
-メモリ不足。
+メモリ不足。
 .TP 
 \fBERANGE\fP
 整数変換の結果が、対応する整数型に格納できるサイズを越えてしまう。
@@ -313,21 +323,31 @@ required.
 これらの関数の Linux 版は \fIGNU\fP \fIlibio\fP ライブラリーを元にしている。 より簡潔な説明には \fIGNU\fP \fIlibc
 (glibc\-1.08)\fP の \fIinfo\fP 文書に目を通すこと。
 .SH 注意
-The GNU C library supported the dynamic allocation conversion specifier (as
-a nonstandard extension) via the \fBa\fP character.  This feature seems to be
-present at least as far back as glibc 2.0.
+.SS "'a' 代入割り当て (assignment\-allocation) 修飾子"
+元々、 GNU C ライブラリ (glibc) では、 \fBa\fP 文字による文字列入力に対する動的割り当て変換指定子 (dynamic
+allocation conversion specifier) を (非標準の拡張として) サポートしている。この機能は少なくとも glibc 2.0
+の時点ではすでに存在している。 したがって、以下のようにして、 \fBscanf\fP()
+に入力文字列に対してバッファーを割り当てさせることができる。割り当てられたバッファーは \fI*buf\fP で返される。
+
+    char *buf;
+    scanf("%as", &buf);
 .PP
-この修飾子は \fIgcc \-std=c99\fP や \fIgcc \-D_ISOC99_SOURCE\fP でコンパイルしたプログラムでは
-(\fB_GNU_SOURCE\fP も同時に指定していない場合) 利用できない。この場合、 \fBa\fP は (上述の通り)
+この目的で文字 \fBa\fP を使うのは問題をはらんでいる。 なぜなら、 \fBa\fP は ISO C 標準では (浮動小数点入力を表す) の \fBf\fP
+の同義語として定義されているからである。 その代わり、 POSIX.1\-2008 では、(上記の「説明」に書かれている通り)
+代入割り当てを行う修飾子として \fBm\fP が規定されている。
+.PP
+\fBa\fP 修飾子は \fIgcc \-std=c99\fP や \fIgcc \-D_ISOC99_SOURCE\fP でコンパイルしたプログラムでは
+(\fB_GNU_SOURCE\fP も同時に指定していない場合) 利用できない点に注意。この場合、 \fBa\fP は (上述の通り)
 浮動小数点数を示す変換指定子と解釈される。
 
-バージョン 2.7 以降では、glibc は \fBa\fP 修飾子と同じ目的で \fBm\fP 修飾子も提供している。 \fBm\fP 修飾子は以下の利点がある。
+\fBm\fP 修飾子への対応はバージョン 2.7 以降の glibc で追加されている。新しいプログラムでぇあ \fBa\fP の代わりに \fBm\fP
+を使用すべきである。
+
+POSIX で標準化されているだけでなく、 \fBm\fP 修飾子には \fBa\fP を利用する場合に比べて以下のような利点がある。
 .IP * 2
 \fB%c\fP 変換指定子にも適用できる (例えば \fB%3mc\fP)。
 .IP *
 浮動小数点変換指定子としての \fB%a\fP との紛らわしさが避けられる (また \fIgcc \-std=c99\fP などの影響も避けられる)。
-.IP *
-POSIX.1\-2008 標準で規定されている。
 .SH バグ
 全ての関数は、完全に C89 に準拠している。しかし 追加で \fBq\fP と \fBa\fP 指定子が提供されており、同様に \fBL\fP と \fBl\fP
 指定子の付加的な振る舞いもある。後者は、 C89 で定義された指定子の振る舞いを変更するものなので、 バグとみなされるかもしれない。
@@ -335,16 +355,15 @@ POSIX.1\-2008 標準で規定されている。
 ANSI C で定義された型修飾子と変換指定子の組み合わせの中には 意味を
 なさないものがある (例えば、 \fB%Ld\fP)。 これらが指定された場合、
 Linux 上でははっきりと定義された振る舞いをするかもしれないが、
-他のアーキテクチャでも同様になっているとは限らない。
+ä»\96ã\81®ã\82¢ã\83¼ã\82­ã\83\86ã\82¯ã\83\81ã\83£ã\83¼ã\81§ã\82\82å\90\8cæ§\98ã\81«ã\81ªã\81£ã\81¦ã\81\84ã\82\8bã\81¨ã\81¯é\99\90ã\82\89ã\81ªã\81\84ã\80\82
 それゆえに、ほとんどの場合、 ANSI C で定義されていない修飾子を使用した
 方が良い。すなわち、 \fBd\fP, \fBi\fP, \fBo\fP, \fBu\fP, \fBx\fP, \fBX\fP 変換や \fBll\fP
 と組み合わせる場合には、 \fBL\fP の代わりに \fBq\fP を使用した方が良い。
 .PP
 \fBq\fP の使用方法は 4.4BSD と同じではない。 4.4BSD では \fBq\fP は \fBL\fP と同等に浮動小数の変換に使用される。
 .SH 例
-To use the dynamic allocation conversion specifier, specify \fBm\fP as a length
-modifier (thus \fB%ms\fP or \fB%m[\fP\fIrange\fP\fB]\fP).  The caller must \fBfree\fP(3)
-the returned string, as in the following example:
+動的割り当て変換指定子を使用するには、長さ修飾子として \fBm\fP を指定する (つまり、全体としては \fB%ms\fP や
+\fB%m[\fP\fIrange\fP\fB]\fP となる)。以下の例にあるように、呼び出し側は返された文字列を \fBfree\fP(3) しなければならない。
 .in +4n
 .nf
 
@@ -369,6 +388,6 @@ if (n == 1) {
 \fBgetc\fP(3), \fBprintf\fP(3)  \fBsetlocale\fP(3), \fBstrtod\fP(3), \fBstrtol\fP(3),
 \fBstrtoul\fP(3),
 .SH この文書について
-この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.51 の一部
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.79 の一部
 である。プロジェクトの説明とバグ報告に関する情報は
 http://www.kernel.org/doc/man\-pages/ に書かれている。