OSDN Git Service

Retire LDP man-pages repository
[linuxjm/LDP_man-pages.git] / release / man3 / scanf.3
diff --git a/release/man3/scanf.3 b/release/man3/scanf.3
deleted file mode 100644 (file)
index e9e6662..0000000
+++ /dev/null
@@ -1,393 +0,0 @@
-.\" Copyright (c) 1990, 1991 The Regents of the University of California.
-.\" All rights reserved.
-.\"
-.\" This code is derived from software contributed to Berkeley by
-.\" Chris Torek and the American National Standards Committee X3,
-.\" on Information Processing Systems.
-.\"
-.\" %%%LICENSE_START(BSD_4_CLAUSE_UCB)
-.\" Redistribution and use in source and binary forms, with or without
-.\" modification, are permitted provided that the following conditions
-.\" are met:
-.\" 1. Redistributions of source code must retain the above copyright
-.\"    notice, this list of conditions and the following disclaimer.
-.\" 2. Redistributions in binary form must reproduce the above copyright
-.\"    notice, this list of conditions and the following disclaimer in the
-.\"    documentation and/or other materials provided with the distribution.
-.\" 3. All advertising materials mentioning features or use of this software
-.\"    must display the following acknowledgement:
-.\"    This product includes software developed by the University of
-.\"    California, Berkeley and its contributors.
-.\" 4. Neither the name of the University nor the names of its contributors
-.\"    may be used to endorse or promote products derived from this software
-.\"    without specific prior written permission.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
-.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-.\" SUCH DAMAGE.
-.\" %%%LICENSE_END
-.\"
-.\"     @(#)scanf.3    6.14 (Berkeley) 1/8/93
-.\"
-.\" Converted for Linux, Mon Nov 29 15:22:01 1993, faith@cs.unc.edu
-.\" modified to resemble the GNU libio setup used in the Linux libc
-.\" used in versions 4.x (x>4) and 5   Helmut.Geyer@iwr.uni-heidelberg.de
-.\" Modified, aeb, 970121
-.\" 2005-07-14, mtk, added description of %n$ form; various text
-.\"    incorporated from the GNU C library documentation ((C) The
-.\"    Free Software Foundation); other parts substantially rewritten.
-.\"
-.\" 2008-06-23, mtk
-.\"     Add ERRORS section.
-.\"     Document the 'a' and 'm' modifiers for dynamic string allocation.
-.\"
-.\"*******************************************************************
-.\"
-.\" This file was generated with po4a. Translate the source file.
-.\"
-.\"*******************************************************************
-.\"
-.\" 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 書式
-.nf
-\fB#include <stdio.h>\fP
-
-\fBint scanf(const char *\fP\fIformat\fP\fB, ...);\fP
-\fBint fscanf(FILE *\fP\fIstream\fP\fB, const char *\fP\fIformat\fP\fB, ...);\fP
-\fBint sscanf(const char *\fP\fIstr\fP\fB, const char *\fP\fIformat\fP\fB, ...);\fP
-.sp
-\fB#include <stdarg.h>\fP
-
-\fBint vscanf(const char *\fP\fIformat\fP\fB, va_list \fP\fIap\fP\fB);\fP
-\fBint vsscanf(const char *\fP\fIstr\fP\fB, const char *\fP\fIformat\fP\fB, va_list \fP\fIap\fP\fB);\fP
-\fBint vfscanf(FILE *\fP\fIstream\fP\fB, const char *\fP\fIformat\fP\fB, va_list \fP\fIap\fP\fB);\fP
-.fi
-.sp
-.in -4n
-glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7)  参照):
-.in
-.ad l
-.sp
-\fBvscanf\fP(), \fBvsscanf\fP(), \fBvfscanf\fP():
-.RS 4
-_XOPEN_SOURCE\ >=\ 600 || _ISOC99_SOURCE || _POSIX_C_SOURCE\ >=\ 200112L;
-.br
-または \fIcc \-std=c99\fP
-.ad
-.RE
-.SH 説明
-\fBscanf\fP()  関数グループは、以下に述べるように、 \fIformat\fP に従って入力を読み込むものである。 この書式には \fI「変換指定」
-(conversion specifications)\fP を含めることができ、変換指定があれば、その変換の結果は \fIformat\fP に続く
-\fIpointer\fP 引き数が指す場所に格納される。 それぞれの \fIpointer\fP 引き数の型は、対応する変換指定が返す値に
-適合していなければならない。
-
-\fIformat\fP 中の変換指定の個数が \fIpointer\fP 引き数の数より多かった場合の結果は未定義である。 \fIpointer\fP
-引き数の数が変換指定の個数よりも多かった場合、 余分な \fIpointer\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()
-関数は、可変長引き数のリストに基づき標準入力からの読み取りを行う。 \fBvsscanf\fP()  関数はそのリストに基づき文字列から読み取る。
-これらの関係は \fBvprintf\fP(3)  と \fBvsprintf\fP(3)  関数の関係と同様である。
-.PP
-\fIformat\fP 文字列は \fI「命令」 (directive)\fP の列で構成される。命令は入力文字の系列をどのように処理するかを指示する
-ものである。ある命令の処理が失敗すると、入力はそれ以上読み込まれず、 \fBscanf\fP()  は返る。「失敗」は \fI「入力の失敗」 (input
-failure)\fP と \fI「一致の失敗」 (matching failure)\fP のいずれかである。
-入力の失敗は入力文字が使用できなかったことを意味し、 一致の失敗は入力が不適切であったこと (下記参照) を意味する。
-
-命令は以下のいずれかである:
-.TP 
-\(bu
-ホワイトスペース (スペース、タブ、改行など; \fBisspace\fP(3)  参照) の列。
-この命令は、入力中の任意の個数のホワイトスペースに一致する。 (「何もなし」にも一致する)。
-.TP 
-\(bu
-通常文字 (つまり、ホワイトスペースと \(aq%\(aq 以外の文字)。 この文字は入力の次の文字に正確に一致しなければならない。
-.TP 
-\(bu
-変換指定。変換指定は \(aq%\(aq (パーセント) 文字で始まる。 入力された文字の系列はこの指定にもとづいて変換され、 変換結果は対応する
-\fIpointer\fP 引き数が指す場所に格納される。 入力の次の文字が変換指定と一致しない場合は、変換は失敗する \(emこれが \fI「一致の失敗」
-(matching failure)\fP である。
-.PP
-\fIformat\fP 中の各々の \fI「変換指定」\fP は文字 \(aq%\(aq か文字系列 "\fB%\fP\fIn\fP\fB$\fP" (違いについては後述)
-で始まり、以下の要素が続く。
-.TP 
-\(bu
-代入抑制文字 \(aq*\(aq (省略可能)。 \fBscanf\fP()  は変換指定に指示された通り入力を読み込むが、その入力は捨てられる。 対応する
-\fIpointer\fP 引き数は必要なく、 \fBscanf\fP()  が返す代入が成功した数にこの指定は含まれない。
-.TP 
-\(bu
-文字 \(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進数 (省略可能)。 この最大値に達するか、一致しない文字が見つかるか、のどちらかに
-なると、文字の読み込みを停止する。 ほとんどの変換では、先頭のホワイトスペース文字は捨てられ (例外については後述する)、
-捨てられたこれらの文字は最大フィールド幅の計算には含まれない。 文字列の入力変換では、入力の末尾を示す終端のヌルバイト (\(aq\e0\(aq)
-も格納されるが、最大フィールド幅にはこの終端バイトは含まれない。
-.TP 
-\(bu
-\fI「型修飾子」 (type modifier characters)\fP (省略可能)。 例えば、型修飾子 \fBl\fP を \fB%d\fP
-などの整数変換と一緒に使うと、対応する \fIpointer\fP 引き数が \fIint\fP ではなく \fIlong int\fP を参照していることを指定できる。
-.TP 
-\(bu
-\fI「変換指定」\fP : 実行すべき入力変換の種類を指定する。
-.PP
-\fIformat\fP 中の変換指定は、\(aq%\(aq で始まるか、 "\fB%\fP\fIn\fP\fB$\fP" で始まるかの、いずれかの形式である。 これら
-2つの形式を同じ \fIformat\fP 文字列に混ぜることはできない。但し、"\fB%\fP\fIn\fP\fB$\fP" を 含む文字列に \fB%%\fP と \fB%*\fP
-を含めることはできる。 \fIformat\fP に \(aq%\(aq 指定が含まれている場合、各々の \(aq%\(aq 指定と 後続の
-\fIpointer\fP 引き数はその順番通りに対応する。 "\fB%\fP\fIn\fP\fB$\fP" 形式 (POSIX.1\-2001 では規定されているが、C99
-にはない)  では、 \fIn\fP は 10進数であり、変換後の入力を \fIformat\fP の後ろの \fIn\fP 番目の \fIpointer\fP
-引き数が参照する場所に格納することを指定する。
-.SS 変換
-変換指定には、以下の \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 へのポインターであることを示す。
-.TP 
-\fBhh\fP
-\fBh\fP と同じだが、次のポインターが \fIsigned char\fP か \fIunsigned char\fP へのポインターであることを示す。
-.TP 
-\fBj\fP
-\fBh\fP と同じだが、次のポインターが \fIintmax_t\fP か \fIuintmax_t\fP へのポインターであることを示す。 この修飾子は 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 のうちのひとつであり次のポインターが (\fIfloat\fP ではなく)  \fIdouble\fP
-へのポインターであることのいずれかであることを示す。 \fBl\fP 文字を二つ指定すると、 \fBL\fP と同じ意味となる。 \fB%c\fP や \fB%s\fP
-とともに使用すると、 パラメーターはそれぞれワイド文字やワイド文字列へのポインターであると みなされる。
-.TP 
-\fBL\fP
-.\" MTK, Jul 05: The following is no longer true for modern
-.\" ANSI C (i.e., C99):
-.\" (Note that long long is not an
-.\" ANSI C
-.\" type. Any program using this will not be portable to all
-.\" architectures).
-\fBe\fP, \fBf\fP, \fBg\fP 変換で、次のポインターが \fIlong double\fP へのポインターであることを示す。もしくは、 \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 と同様だが、次のポインターが \fIptrdiff_t\fP へのポインターであることを示す。 この修飾子は C99 で導入された。
-.TP 
-\fBz\fP
-\fBh\fP と同様だが、次のポインターが \fIsize_t\fP へのポインターであることを示す。 この修飾子は C99 で導入された。
-.PP
-以下の \fI「変換指定子」\fP が利用可能である。
-.TP 
-\fB%\fP
-文字 \(aq%\(aq に対応する。 書式文字列の中の \fB%\&%\fP は単一の文字 \(aq%\(aq に対応する。 変換は行われず
-(但し、先頭のホワイトスペース文字は捨てられる)、 変数への代入は生じない。
-.TP 
-\fBd\fP
-符号つきの 10進の整数に対応する。 次のポインターは \fIint\fP へのポインターでなければならない。
-.TP 
-\fBD\fP
-\fIld\fP と同一である。これは以前の仕様との互換性だけのためにある。 (注意: これは libc4 の場合だけである。 libc5 や glibc
-では \fB%D\fP は暗黙のうちに無視され、古いプログラムにおいて謎に満ちた失敗の原因となる。)
-.TP 
-\fBi\fP
-符号つき整数に対応する。 次のポインターは \fIint\fP へのポインターでなければならない。 この整数は \fI0x\fP または \fI0X\fP
-で開始する場合には 16 進数、 \fI0\fP で開始する場合には 8 進数、その他の場合には 10進数として読み込まれる。
-この変換で使用される文字は、これらの基数に対応しているものだけである。
-.TP 
-\fBo\fP
-符号なしの 8 進の整数に対応する。 次のポインターは \fIunsigned int\fP でなければならない。
-.TP 
-\fBu\fP
-符号なしの 10進の整数に対応する。 次のポインターは \fIunsigned int\fP へのポインターでなければならない。
-.TP 
-\fBx\fP
-符号なしの 16 進の整数に対応する。 次のポインターは \fIunsigned int\fP へのポインターでなければならない。
-.TP 
-\fBX\fP
-\fBx\fP と同一である。
-.TP 
-\fBf\fP
-符号つき浮動小数点実数に対応する。 次のポインターは \fIfloat\fP へのポインターでなければならない。
-.TP 
-\fBe\fP
-\fBf\fP と同一である。
-.TP 
-\fBg\fP
-\fBf\fP と同一である。
-.TP 
-\fBE\fP
-\fBf\fP と同一である。
-.TP 
-\fBa\fP
-(C99)  \fBf\fP と同一である。
-.TP 
-\fBs\fP
-ホワイトスペースではない文字で構成された文字列に対応する。 次のポインターは文字の配列へのポインターでなければならず、
-その文字配列は、入力された文字列と (自動的に追加される) 終端のヌルバイト (\(aq\e0\(aq) を格納するのに十分な大きさでなければならない。
-文字列の入力は、ホワイトスペースが入力されるか、最大フィールド幅に 達するか、のどちらかが起こると停止される。
-.TP 
-\fBc\fP
-\fI「最大フィールド幅」\fP (デフォルトは 1) で指定された幅の文字の列に対応する。 次のポインターは \fIchar\fP
-へのポインターで、すべての文字を格納するのに十分な領域が なければならない (終端のヌルバイトは追加されない)。
-通常行われる先頭のホワイトスペースの読み飛ばしは行われない。 先頭のホワイトスペースを読み飛ばすためには、
-フォーマット文の中で明示的にスペースを使用すれば良い。
-.TP 
-\fB\&[\fP
-格納された文字列のうちから取り出された、 指定された文字の集合で構成される空ではない文字の列に対応する。 次のポインターは \fIchar\fP
-へのポインターでなければならず、 そこには文字列中のすべての文字と終端のヌルバイト を格納するための十分な領域がなければならない。
-通常行われる先頭のホワイトスペースの読み飛ばしは行われない。 この文字列は特別な集合の中の文字で構成されている。 この集合は 開き括弧 \fB[\fP
-と閉じ括弧 \fB]\fP の間の文字で定義される。 開き括弧のあとの最初の文字が曲アクセント記号 (\fB^\fP)
-の場合、集合はこれらの文字を含まないものとなる。 閉じ括弧を集合に含ませるためには、この文字を開き括弧または
-曲アクセント記号のあとの最初の文字にすればよい。 つまり、他の位置に閉じ括弧を置くと文字の集合が終る。 ハイフン \fB\-\fP もまた特殊文字である。
-二つの異なる文字の間に置かれた時、この文字は、 その間にある全ての文字を集合に加える。 ハイフン自体を含ませるためには、
-括弧が閉じる前の最後の一文字をハイフンにすればよい。 例えば、 \fB[^]0\-9\-]\fP は「閉じ括弧、0 〜 9、ハイフンの 3
-種類を除く全ての文字」の集合を意味する。 この文字列は 集合に含まれていない (曲アクセントの場合には含まれる) 文字の
-出現または確保された領域が使い切られた時に終了する。
-.TP 
-\fBp\fP
-(\fBprintf\fP(3)  の \fB%p\fP で印字されるような) ポインター値に対応する。 次のポインターは \fIvoid\fP
-へのポインターへのポインターでなければならない。
-.TP 
-\fBn\fP
-どんな入力も必要としない。 そのかわりに、 入力からここまで消費された文字数が次のポインターで指定された場所に 格納される。 このポインターは
-\fIint\fP へのポインターでなければならない。 変換を抑制するのであれば \fB*\fP 代入抑制文字を使って抑制することができるのだが、
-この変換指定子は変換では「ない」。 C 言語の標準規格では「実行の完了時に返される代入の回数は \fB%n\fP 命令の実行では増加しない」となっているが、
-正誤表の内容はこれと矛盾するようである。おそらく、 \fB%n\fP 変換が返り値に与える影響についてはどのような仮定もしないのが 賢明であろう。
-.SH 返り値
-これらの関数は、一致と代入が成功した入力要素の個数を返す。 返される値は渡された変換の個数よりも少ないこともあり、 最初に一致の失敗があった場合には 0
-になることもある。
-
-最初の変換が成功する前に入力の最後に達して、一致の失敗が起こった場合には、 \fBEOF\fP が返される。また、 読み込みエラーが発生した場合にも
-\fBEOF\fP が返される。読み込みエラーの場合には、そのストリームの エラー指示子がセットされ (\fBferror\fP(3)  参照)、 \fIerrno\fP
-にエラーを示す値がセットされる。
-.SH エラー
-.TP 
-\fBEAGAIN\fP
-\fIstream\fP に対応するファイルディスクリプターが nonblocking となっており、 読み込み操作は停止 (block) することになる。
-.TP 
-\fBEBADF\fP
-\fIstream\fP に対応するファイルディスクリプターが無効であるが、 読み込み用にオープンされていない。
-.TP 
-\fBEILSEQ\fP
-入力されたバイト列が有効な文字を構成していない。
-.TP 
-\fBEINTR\fP
-読み込み操作がシグナルにより割り込まれた。 \fBsignal\fP(7)  参照。
-.TP 
-\fBEINVAL\fP
-引き数が十分でない。または \fIformat\fP が NULL である。
-.TP 
-\fBENOMEM\fP
-メモリー不足。
-.TP 
-\fBERANGE\fP
-整数変換の結果が、対応する整数型に格納できるサイズを越えてしまう。
-.SH 準拠
-\fBfscanf\fP(), \fBscanf\fP(), \fBsscanf\fP()  関数は C89, C99, POSIX.1\-2001 に準拠している。
-これらの標準では、エラー \fBERANGE\fP は規定されていない。
-.PP
-\fBq\fP 指定子は \fIlong long\fP の 4.4BSD での記述方法である。 一方、整数変換での \fBll\fP または \fBL\fP の使用は GNU
-での拡張である。
-.PP
-これらの関数の Linux 版は \fIGNU\fP \fIlibio\fP ライブラリーを元にしている。 より簡潔な説明には \fIGNU\fP \fIlibc
-(glibc\-1.08)\fP の \fIinfo\fP 文書に目を通すこと。
-.SH 注意
-.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
-この目的で文字 \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 は (上述の通り)
-浮動小数点数を示す変換指定子と解釈される。
-
-\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 などの影響も避けられる)。
-.SH バグ
-全ての関数は、完全に C89 に準拠している。しかし 追加で \fBq\fP と \fBa\fP 指定子が提供されており、同様に \fBL\fP と \fBl\fP
-指定子の付加的な振る舞いもある。後者は、 C89 で定義された指定子の振る舞いを変更するものなので、 バグとみなされるかもしれない。
-.PP
-ANSI C で定義された型修飾子と変換指定子の組み合わせの中には 意味を
-なさないものがある (例えば、 \fB%Ld\fP)。 これらが指定された場合、
-Linux 上でははっきりと定義された振る舞いをするかもしれないが、
-他のアーキテクチャーでも同様になっているとは限らない。
-それゆえに、ほとんどの場合、 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 例
-動的割り当て変換指定子を使用するには、長さ修飾子として \fBm\fP を指定する (つまり、全体としては \fB%ms\fP や
-\fB%m[\fP\fIrange\fP\fB]\fP となる)。以下の例にあるように、呼び出し側は返された文字列を \fBfree\fP(3) しなければならない。
-.in +4n
-.nf
-
-char *p;
-int n;
-
-errno = 0;
-n = scanf("%m[a\-z]", &p);
-if (n == 1) {
-    printf("read: %s\en", p);
-    free(p);
-} else if (errno != 0) {
-    perror("scanf");
-} else {
-    fprintf(stderr, "No matching characters\en");
-}
-.fi
-.in
-.PP
-上記の例にあるように、 \fBscanf\fP()  が文字列の読み込みに成功した場合にだけ、 \fBfree\fP(3)  を呼び出す必要がある。
-.SH 関連項目
-\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.79 の一部
-である。プロジェクトの説明とバグ報告に関する情報は
-http://www.kernel.org/doc/man\-pages/ に書かれている。