OSDN Git Service

(split) LDP: Translation snapshots for ja.po.
[linuxjm/LDP_man-pages.git] / draft / man3 / scanf.3
index d596487..45e5480 100644 (file)
 .\" Updated 2005-09-18, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
 .\" Updated 2008-08-11, Akihiro MOTOKI, LDP v3.05
 .\"
-.\"WORD:       conversion specifications       ÊÑ´¹»ØÄê
-.\"WORD:       type modifier                   ·¿½¤¾þ»Ò
+.\"WORD:       conversion specifications       変換指定
+.\"WORD:       type modifier                   型修飾子
 .\"
 .TH SCANF 3  2011-09-28 "GNU" "Linux Programmer's Manual"
 .\"O .SH NAME
-.SH Ì¾Á°
+.SH 名前
 .\"O scanf, fscanf, sscanf, vscanf, vsscanf, vfscanf \- input format conversion
-scanf, fscanf, sscanf, vscanf, vsscanf, vfscanf \- ½ñ¼°ÉÕ¤­ÆþÎÏÊÑ´¹
+scanf, fscanf, sscanf, vscanf, vsscanf, vfscanf \- 書式付き入力変換
 .\"O .SH SYNOPSIS
-.SH ½ñ¼°
+.SH 書式
 .nf
 .B #include <stdio.h>
 
@@ -81,9 +81,9 @@ scanf, fscanf, sscanf, vscanf, vsscanf, vfscanf \- 
 .in -4n
 .\"O Feature Test Macro Requirements for glibc (see
 .\"O .BR feature_test_macros (7)):
-glibc ¸þ¤±¤Îµ¡Ç½¸¡ºº¥Þ¥¯¥í¤ÎÍ×·ï
+glibc 向けの機能検査マクロの要件
 .RB ( feature_test_macros (7)
-»²¾È):
+参照):
 .in
 .ad l
 .sp
@@ -99,7 +99,7 @@ or
 .ad
 .RE
 .\"O .SH DESCRIPTION
-.SH ÀâÌÀ
+.SH 説明
 .\"O The
 .\"O .BR scanf ()
 .\"O family of functions scans input according to
@@ -117,20 +117,20 @@ or
 .\"O argument must be of a type that is appropriate for the value returned
 .\"O by the corresponding conversion specification.
 .BR scanf ()
-´Ø¿ô¥°¥ë¡¼¥×¤Ï¡¢°Ê²¼¤Ë½Ò¤Ù¤ë¤è¤¦¤Ë¡¢
+関数グループは、以下に述べるように、
 .I format
-¤Ë½¾¤Ã¤ÆÆþÎϤòÆɤ߹þ¤à¤â¤Î¤Ç¤¢¤ë¡£
-¤³¤Î½ñ¼°¤Ë¤Ï
-.I "¡ÖÊÑ´¹»ØÄê¡× (conversion specifications)"
-¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¡¢ÊÑ´¹»ØÄ꤬¤¢¤ì¤Ð¡¢¤½¤ÎÊÑ´¹¤Î·ë²Ì¤Ï
+に従って入力を読み込むものである。
+この書式には
+.I "「変換指定」 (conversion specifications)"
+を含めることができ、変換指定があれば、その変換の結果は
 .I format
-¤Ë³¤¯
+に続く
 .I pointer
-°ú¤­¿ô¤¬»Ø¤¹¾ì½ê¤Ë³ÊǼ¤µ¤ì¤ë¡£
-¤½¤ì¤¾¤ì¤Î
+引き数が指す場所に格納される。
+それぞれの
 .I pointer
-°ú¤­¿ô¤Î·¿¤Ï¡¢Âбþ¤¹¤ëÊÑ´¹»ØÄ꤬ÊÖ¤¹ÃͤË
-Ŭ¹ç¤·¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
+引き数の型は、対応する変換指定が返す値に
+適合していなければならない。
 
 .\"O If the number of conversion specifications in
 .\"O .I format
@@ -143,14 +143,14 @@ or
 .\"O .I pointer
 .\"O arguments are evaluated, but are otherwise ignored.
 .I format
-Ãæ¤ÎÊÑ´¹»ØÄê¤Î¸Ä¿ô¤¬
+中の変換指定の個数が
 .I pointer
-°ú¤­¿ô¤Î¿ô¤è¤ê¿¤«¤Ã¤¿¾ì¹ç¤Î·ë²Ì¤Ï̤ÄêµÁ¤Ç¤¢¤ë¡£
+引き数の数より多かった場合の結果は未定義である。
 .I pointer
-°ú¤­¿ô¤Î¿ô¤¬ÊÑ´¹»ØÄê¤Î¸Ä¿ô¤è¤ê¤â¿¤«¤Ã¤¿¾ì¹ç¡¢
-;ʬ¤Ê
+引き数の数が変換指定の個数よりも多かった場合、
+余分な
 .I pointer
-°ú¤­¿ô¤Îɾ²Á¤Ï¹Ô¤ï¤ì¤ë¤¬¡¢¤½¤ì°Ê³°¤Ï¹Ô¤ï¤ì¤ºÌµ»ë¤µ¤ì¤ë¡£
+引き数の評価は行われるが、それ以外は行われず無視される。
 
 .\"O The
 .\"O .BR scanf ()
@@ -164,17 +164,17 @@ or
 .\"O reads its input from the character string pointed to by
 .\"O .IR str .
 .BR scanf ()
-´Ø¿ô¤Ïɸ½àÆþÎÏ¥¹¥È¥ê¡¼¥à
+関数は標準入力ストリーム
 .I stdin
-¤«¤é¤ÎÆþÎϤòÆɤ߹þ¤à¡£
+からの入力を読み込む。
 .BR fscanf ()
-¤Ï¥¹¥È¥ê¡¼¥à¥Ý¥¤¥ó¥¿
+ã\81¯ã\82¹ã\83\88ã\83ªã\83¼ã\83 ã\83\9dã\82¤ã\83³ã\82¿
 .I stream
-¤«¤é¤ÎÆþÎϤòÆɤ߹þ¤à¡£
+からの入力を読み込む。
 .BR sscanf ()
-¤Ïʸ»úÎó¥Ý¥¤¥ó¥¿
+ã\81¯æ\96\87å­\97å\88\97ã\83\9dã\82¤ã\83³ã\82¿
 .I str
-¤Ç¼¨¤µ¤ì¤¿Ê¸»úÎ󤫤é¤ÎÆþÎϤòÆɤ߹þ¤à¡£
+で示された文字列からの入力を読み込む。
 .PP
 .\"O The
 .\"O .BR vfscanf ()
@@ -185,13 +185,13 @@ or
 .\"O using a variable argument list of pointers (see
 .\"O .BR stdarg (3).
 .BR vfscanf ()
-´Ø¿ô¤Ï
+関数は
 .BR vfprintf (3)
-¤ÈƱÍͤˡ¢¥¹¥È¥ê¡¼¥à¥Ý¥¤¥ó¥¿
+ã\81¨å\90\8cæ§\98ã\81«ã\80\81ã\82¹ã\83\88ã\83ªã\83¼ã\83 ã\83\9dã\82¤ã\83³ã\82¿
 .I stream
-¤«¤é¤ÎÆþÎϤò¥Ý¥¤¥ó¥¿¤Î²ÄÊÑĹ°ú¤­¿ô¥ê¥¹¥È¤òÍѤ¤¤ÆÆɤ߹þ¤à
+からの入力をポインタの可変長引き数リストを用いて読み込む
 .RB ( stdarg (3)
-¤ò»²¾È)¡£
+を参照)。
 .\"O The
 .\"O .BR vscanf ()
 .\"O function scans a variable argument list from the standard input and the
@@ -202,14 +202,14 @@ or
 .\"O .BR vsprintf (3)
 .\"O functions respectively.
 .BR vscanf ()
-´Ø¿ô¤Ï¡¢²ÄÊÑĹ°ú¤­¿ô¤Î¥ê¥¹¥È¤Ë´ð¤Å¤­É¸½àÆþÎϤ«¤é¤ÎÆɤ߼è¤ê¤ò¹Ô¤¦¡£
+関数は、可変長引き数のリストに基づき標準入力からの読み取りを行う。
 .BR vsscanf ()
-´Ø¿ô¤Ï¤½¤Î¥ê¥¹¥È¤Ë´ð¤Å¤­Ê¸»úÎ󤫤éÆɤ߼è¤ë¡£
-¤³¤ì¤é¤Î´Ø·¸¤Ï
+関数はそのリストに基づき文字列から読み取る。
+これらの関係は
 .BR vprintf (3)
-¤È
+と
 .BR vsprintf (3)
-´Ø¿ô¤Î´Ø·¸¤ÈƱÍͤǤ¢¤ë¡£
+関数の関係と同様である。
 .PP
 .\"O The
 .\"O .I format
@@ -225,38 +225,38 @@ or
 .\"O .IR "matching failure" ,
 .\"O meaning that the input was inappropriate (see below).
 .I format
-ʸ»úÎó¤Ï
-.I "¡ÖÌ¿Îá¡× (directive)"
-¤ÎÎó¤Ç¹½À®¤µ¤ì¤ë¡£Ì¿Îá¤ÏÆþÎÏʸ»ú¤Î·ÏÎó¤ò¤É¤Î¤è¤¦¤Ë½èÍý¤¹¤ë¤«¤ò»Ø¼¨¤¹¤ë
-¤â¤Î¤Ç¤¢¤ë¡£¤¢¤ëÌ¿Îá¤Î½èÍý¤¬¼ºÇÔ¤¹¤ë¤È¡¢ÆþÎϤϤ½¤ì°Ê¾åÆɤ߹þ¤Þ¤ì¤º¡¢
+文字列は
+.I "「命令」 (directive)"
+の列で構成される。命令は入力文字の系列をどのように処理するかを指示する
+ものである。ある命令の処理が失敗すると、入力はそれ以上読み込まれず、
 .BR scanf ()
-¤ÏÊ֤롣¡Ö¼ºÇԡפÏ
-.I "¡ÖÆþÎϤμºÇÔ¡× (input failure)"
-¤È
-.I "¡Ö°ìÃפμºÇÔ¡× (matching failure)"
-¤Î¤¤¤º¤ì¤«¤Ç¤¢¤ë¡£
-ÆþÎϤμºÇÔ¤ÏÆþÎÏʸ»ú¤¬»ÈÍѤǤ­¤Ê¤«¤Ã¤¿¤³¤È¤ò°ÕÌ£¤·¡¢
-°ìÃפμºÇÔ¤ÏÆþÎϤ¬ÉÔŬÀڤǤ¢¤Ã¤¿¤³¤È (²¼µ­»²¾È) ¤ò°ÕÌ£¤¹¤ë¡£
+は返る。「失敗」は
+.I "「入力の失敗」 (input failure)"
+と
+.I "「一致の失敗」 (matching failure)"
+のいずれかである。
+入力の失敗は入力文字が使用できなかったことを意味し、
+一致の失敗は入力が不適切であったこと (下記参照) を意味する。
 
 .\"O A directive is one of the following:
-Ì¿Îá¤Ï°Ê²¼¤Î¤¤¤º¤ì¤«¤Ç¤¢¤ë:
+命令は以下のいずれかである:
 .TP
 \(bu
 .\"O A sequence of white-space characters (space, tab, newline, etc.; see
 .\"O .BR isspace (3)).
 .\"O This directive matches any amount of white space,
 .\"O including none, in the input.
-¥Û¥ï¥¤¥È¥¹¥Ú¡¼¥¹ (¥¹¥Ú¡¼¥¹¡¢¥¿¥Ö¡¢²þ¹Ô¤Ê¤É;
+ホワイトスペース (スペース、タブ、改行など;
 .BR isspace (3)
-»²¾È) ¤ÎÎó¡£
-¤³¤ÎÌ¿Îá¤Ï¡¢ÆþÎÏÃæ¤ÎǤ°Õ¤Î¸Ä¿ô¤Î¥Û¥ï¥¤¥È¥¹¥Ú¡¼¥¹¤Ë°ìÃפ¹¤ë¡£
-(¡Ö²¿¤â¤Ê¤·¡×¤Ë¤â°ìÃפ¹¤ë)¡£
+参照) の列。
+この命令は、入力中の任意の個数のホワイトスペースに一致する。
+(「何もなし」にも一致する)。
 .TP
 \(bu
 .\"O An ordinary character (i.e., one other than white space or \(aq%\(aq).
 .\"O This character must exactly match the next character of input.
-Ä̾ïʸ»ú (¤Ä¤Þ¤ê¡¢¥Û¥ï¥¤¥È¥¹¥Ú¡¼¥¹¤È \(aq%\(aq °Ê³°¤Îʸ»ú)¡£
-¤³¤Îʸ»ú¤ÏÆþÎϤμ¡¤Îʸ»ú¤ËÀµ³Î¤Ë°ìÃפ·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
+通常文字 (つまり、ホワイトスペースと \(aq%\(aq 以外の文字)。
+この文字は入力の次の文字に正確に一致しなければならない。
 .TP
 \(bu
 .\"O A conversion specification,
@@ -268,15 +268,15 @@ or
 .\"O If the next item of input does not match the conversion specification,
 .\"O the conversion fails\(emthis is a
 .\"O .IR "matching failure" .
-ÊÑ´¹»ØÄê¡£ÊÑ´¹»ØÄê¤Ï \(aq%\(aq (¥Ñ¡¼¥»¥ó¥È) Ê¸»ú¤Ç»Ï¤Þ¤ë¡£
-ÆþÎϤµ¤ì¤¿Ê¸»ú¤Î·ÏÎó¤Ï¤³¤Î»ØÄê¤Ë¤â¤È¤Å¤¤¤ÆÊÑ´¹¤µ¤ì¡¢
-ÊÑ´¹·ë²Ì¤ÏÂбþ¤¹¤ë
+変換指定。変換指定は \(aq%\(aq (パーセント) 文字で始まる。
+入力された文字の系列はこの指定にもとづいて変換され、
+変換結果は対応する
 .I pointer
-°ú¤­¿ô¤¬»Ø¤¹¾ì½ê¤Ë³ÊǼ¤µ¤ì¤ë¡£
-ÆþÎϤμ¡¤Îʸ»ú¤¬ÊÑ´¹»ØÄê¤È°ìÃפ·¤Ê¤¤¾ì¹ç¤Ï¡¢ÊÑ´¹¤Ï¼ºÇÔ¤¹¤ë
-\(em¤³¤ì¤¬
-.I "¡Ö°ìÃפμºÇÔ¡× (matching failure)"
-¤Ç¤¢¤ë¡£
+引き数が指す場所に格納される。
+入力の次の文字が変換指定と一致しない場合は、変換は失敗する
+\(emこれが
+.I "「一致の失敗」 (matching failure)"
+である。
 .PP
 .\"O Each
 .\"O .I conversion specification
@@ -286,10 +286,10 @@ or
 .\"O "\fB%\fP\fIn\fP\fB$\fP"
 .\"O (see below for the distinction) followed by:
 .I format
-Ãæ¤Î³Æ¡¹¤Î
-.I "¡ÖÊÑ´¹»ØÄê¡×"
-¤Ïʸ»ú \(aq%\(aq ¤«Ê¸»ú·ÏÎó "\fB%\fP\fIn\fP\fB$\fP"
-(°ã¤¤¤Ë¤Ä¤¤¤Æ¤Ï¸å½Ò) ¤Ç»Ï¤Þ¤ê¡¢°Ê²¼¤ÎÍ×ÁǤ¬Â³¤¯¡£
+中の各々の
+.I "「変換指定」"
+は文字 \(aq%\(aq か文字系列 "\fB%\fP\fIn\fP\fB$\fP"
+(違いについては後述) で始まり、以下の要素が続く。
 .TP
 \(bu
 .\"O An optional \(aq*\(aq assignment-suppression character:
@@ -301,14 +301,14 @@ or
 .\"O argument is required, and this specification is not
 .\"O included in the count of successful assignments returned by
 .\"O .BR scanf ().
-ÂåÆþÍÞÀ©Ê¸»ú \(aq*\(aq (¾Êά²Äǽ)¡£
+代入抑制文字 \(aq*\(aq (省略可能)。
 .BR scanf ()
-¤ÏÊÑ´¹»ØÄê¤Ë»Ø¼¨¤µ¤ì¤¿Ä̤êÆþÎϤòÆɤ߹þ¤à¤¬¡¢¤½¤ÎÆþÎϤϼΤƤé¤ì¤ë¡£
-Âбþ¤¹¤ë
+は変換指定に指示された通り入力を読み込むが、その入力は捨てられる。
+対応する
 .I pointer
-°ú¤­¿ô¤ÏɬÍפʤ¯¡¢
+引き数は必要なく、
 .BR scanf ()
-¤¬ÊÖ¤¹ÂåÆþ¤¬À®¸ù¤·¤¿¿ô¤Ë¤³¤Î»ØÄê¤Ï´Þ¤Þ¤ì¤Ê¤¤¡£
+が返す代入が成功した数にこの指定は含まれない。
 .TP
 \(bu
 .\"O An optional \(aqa\(aq character.
@@ -327,24 +327,24 @@ or
 .\"O This is a GNU extension;
 .\"O C99 employs the \(aqa\(aq character as a conversion specifier (and
 .\"O it can also be used as such in the GNU implementation).
-ʸ»ú \(aqa\(aq (¾Êά²Äǽ)¡£¤³¤ì¤Ïʸ»úÎóÊÑ´¹¤È¤È¤â¤Ë»ÈÍѤµ¤ì¡¢¤³¤ì¤ò»È¤¦¤È
-¸Æ¤Ó½Ð¤·¸µ¤¬ÆþÎϤòÊÝ»ý¤¹¤ëÂбþ¤¹¤ë¥Ð¥Ã¥Õ¥¡¤ò³ÎÊݤ¹¤ëɬÍפ¬¤Ê¤¯¤Ê¤ë¡£
-Âå¤ï¤ê¤Ë
+文字 \(aqa\(aq (省略可能)。これは文字列変換とともに使用され、これを使うと
+呼び出し元が入力を保持する対応するバッファを確保する必要がなくなる。
+代わりに
 .BR scanf ()
-¤¬É¬ÍפÊÂ礭¤µ¤Î¥Ð¥Ã¥Õ¥¡¤ò³ÎÊݤ·¡¢¤³¤Î¥Ð¥Ã¥Õ¥¡¤Î¥¢¥É¥ì¥¹¤ò
-Âбþ¤¹¤ë
+が必要な大きさのバッファを確保し、このバッファのアドレスを
+対応する
 .I pointer
-°ú¤­¿ô¤ËÂåÆþ¤¹¤ë¡£
+引き数に代入する。
 .I pointer
-°ú¤­¿ô¤Ï
+引き数は
 .I "char *"
-·¿¤ÎÊÑ¿ô¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤
-(ÊÑ¿ô¼«ÂΤϸƤӽФ·Á°¤Ë½é´ü²½¤µ¤ì¤Æ¤¤¤ëɬÍפϤʤ¤)¡£
-¸Æ¤Ó½Ð¤·¸µ¤Ï¡¢ÉÔÍפˤʤä¿»þÅÀ¤Ç¡¢¤³¤Î¥Ð¥Ã¥Õ¥¡¤ò
+型の変数へのポインタでなければならない
+(変数自体は呼び出し前に初期化されている必要はない)。
+呼び出し元は、不要になった時点で、このバッファを
 .BR free (3)
-¤¹¤Ù¤­¤Ç¤¢¤ë¡£¤³¤Îµ¡Ç½¤Ï GNU ¤Ë¤è¤ë³ÈÄ¥¤Ç¤¢¤ë¡£
-C99 ¤Ï \(aqa\(aq Ê¸»ú¤òÊÑ´¹»ØÄê¤È¤·¤Æ»ÈÍѤ·¤Æ¤¤¤ë
-(¤³¤Á¤é¤â GNU ¤Î¼ÂÁõ¤ÈƱ¤¸¤è¤¦¤Ë»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤ë)¡£
+すべきである。この機能は GNU による拡張である。
+C99 は \(aqa\(aq 文字を変換指定として使用している
+(こちらも GNU の実装と同じように使用することができる)。
 .TP
 \(bu
 .\"O An optional decimal integer which specifies the
@@ -357,15 +357,15 @@ C99 
 .\"O String input conversions store a terminating null byte (\(aq\\0\(aq)
 .\"O to mark the end of the input;
 .\"O the maximum field width does not include this terminator.
-.I "¡ÖºÇÂç¥Õ¥£¡¼¥ë¥ÉÉý¡×"
-¤ò»ØÄꤹ¤ë 10¿Ê¿ô (¾Êά²Äǽ)¡£
-¤³¤ÎºÇÂçÃͤË㤹¤ë¤«¡¢°ìÃפ·¤Ê¤¤Ê¸»ú¤¬¸«¤Ä¤«¤ë¤«¡¢¤Î¤É¤Á¤é¤«¤Ë
-¤Ê¤ë¤È¡¢Ê¸»ú¤ÎÆɤ߹þ¤ß¤òÄä»ß¤¹¤ë¡£
-¤Û¤È¤ó¤É¤ÎÊÑ´¹¤Ç¤Ï¡¢ÀèƬ¤Î¥Û¥ï¥¤¥È¥¹¥Ú¡¼¥¹Ê¸»ú¤Ï¼Î¤Æ¤é¤ì
-(Îã³°¤Ë¤Ä¤¤¤Æ¤Ï¸å½Ò¤¹¤ë)¡¢
-¼Î¤Æ¤é¤ì¤¿¤³¤ì¤é¤Îʸ»ú¤ÏºÇÂç¥Õ¥£¡¼¥ë¥ÉÉý¤Î·×»»¤Ë¤Ï´Þ¤Þ¤ì¤Ê¤¤¡£
-ʸ»úÎó¤ÎÆþÎÏÊÑ´¹¤Ç¤Ï¡¢ÆþÎϤÎËöÈø¤ò¼¨¤¹½ªÃ¼¤Î NULL ¥Ð¥¤¥È (\(aq\\0\(aq)
-¤â³ÊǼ¤µ¤ì¤ë¤¬¡¢ºÇÂç¥Õ¥£¡¼¥ë¥ÉÉý¤Ë¤Ï¤³¤Î½ªÃ¼¥Ð¥¤¥È¤Ï´Þ¤Þ¤ì¤Ê¤¤¡£
+.I "「最大フィールド幅」"
+を指定する 10進数 (省略可能)。
+この最大値に達するか、一致しない文字が見つかるか、のどちらかに
+なると、文字の読み込みを停止する。
+ほとんどの変換では、先頭のホワイトスペース文字は捨てられ
+(例外については後述する)、
+捨てられたこれらの文字は最大フィールド幅の計算には含まれない。
+文字列の入力変換では、入力の末尾を示す終端の NULL バイト (\(aq\\0\(aq)
+も格納されるが、最大フィールド幅にはこの終端バイトは含まれない。
 .TP
 \(bu
 .\"O An optional
@@ -380,26 +380,26 @@ C99 
 .\"O .I "long int"
 .\"O rather than a pointer to an
 .\"O .IR int .
-.I "¡Ö·¿½¤¾þ»Ò¡× (type modifier characters)"
-(¾Êά²Äǽ)¡£
-Î㤨¤Ð¡¢·¿½¤¾þ»Ò
+.I "「型修飾子」 (type modifier characters)"
+(省略可能)。
+例えば、型修飾子
 .B l
-¤ò
+を
 .B %d
-¤Ê¤É¤ÎÀ°¿ôÊÑ´¹¤È°ì½ï¤Ë»È¤¦¤È¡¢Âбþ¤¹¤ë
+などの整数変換と一緒に使うと、対応する
 .I pointer
-°ú¤­¿ô¤¬
+引き数が
 .I int
-¤Ç¤Ï¤Ê¤¯
+ではなく
 .I "long int"
-¤ò»²¾È¤·¤Æ¤¤¤ë¤³¤È¤ò»ØÄê¤Ç¤­¤ë¡£
+を参照していることを指定できる。
 .TP
 \(bu
 .\"O A
 .\"O .I "conversion specifier"
 .\"O that specifies the type of input conversion to be performed.
-.I "¡ÖÊÑ´¹»ØÄê¡×"
-: ¼Â¹Ô¤¹¤Ù¤­ÆþÎÏÊÑ´¹¤Î¼ïÎà¤ò»ØÄꤹ¤ë¡£
+.I "「変換指定」"
+: 実行すべき入力変換の種類を指定する。
 .PP
 .\"O The conversion specifications in
 .\"O .I format
@@ -414,16 +414,16 @@ C99 
 .\"O and
 .\"O .BR %* .
 .I format
-Ãæ¤ÎÊÑ´¹»ØÄê¤Ï¡¢\(aq%\(aq ¤Ç»Ï¤Þ¤ë¤«¡¢
-"\fB%\fP\fIn\fP\fB$\fP" ¤Ç»Ï¤Þ¤ë¤«¤Î¡¢¤¤¤º¤ì¤«¤Î·Á¼°¤Ç¤¢¤ë¡£
-¤³¤ì¤é 2¤Ä¤Î·Á¼°¤òƱ¤¸
+中の変換指定は、\(aq%\(aq で始まるか、
+"\fB%\fP\fIn\fP\fB$\fP" で始まるかの、いずれかの形式である。
+これら 2つの形式を同じ
 .I format
-ʸ»úÎó¤Ëº®¤¼¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡£Ã¢¤·¡¢"\fB%\fP\fIn\fP\fB$\fP" ¤ò
-´Þ¤àʸ»úÎó¤Ë
+文字列に混ぜることはできない。但し、"\fB%\fP\fIn\fP\fB$\fP" を
+含む文字列に
 .B %%
-¤È
+と
 .B %*
-¤ò´Þ¤á¤ë¤³¤È¤Ï¤Ç¤­¤ë¡£
+を含めることはできる。
 .\"O If
 .\"O .I format
 .\"O contains \(aq%\(aq
@@ -431,10 +431,10 @@ C99 
 .\"O .I pointer
 .\"O arguments.
 .I format
-¤Ë \(aq%\(aq »ØÄ꤬´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢³Æ¡¹¤Î \(aq%\(aq »ØÄê¤È
-¸å³¤Î
+に \(aq%\(aq 指定が含まれている場合、各々の \(aq%\(aq 指定と
+後続の
 .I pointer
-°ú¤­¿ô¤Ï¤½¤Î½çÈÖÄ̤ê¤ËÂбþ¤¹¤ë¡£
+引き数はその順番通りに対応する。
 .\"O In the
 .\"O "\fB%\fP\fIn\fP\fB$\fP"
 .\"O form (which is specified in POSIX.1-2001, but not C99),
@@ -445,25 +445,25 @@ C99 
 .\"O .I pointer
 .\"O argument following
 .\"O .IR format .
-"\fB%\fP\fIn\fP\fB$\fP" ·Á¼°
-(POSIX.1-2001 ¤Ç¤Ïµ¬Äꤵ¤ì¤Æ¤¤¤ë¤¬¡¢C99 ¤Ë¤Ï¤Ê¤¤)
-¤Ç¤Ï¡¢
+"\fB%\fP\fIn\fP\fB$\fP" 形式
+(POSIX.1-2001 では規定されているが、C99 にはない)
+では、
 .I n
-¤Ï 10¿Ê¿ô¤Ç¤¢¤ê¡¢ÊÑ´¹¸å¤ÎÆþÎϤò
+は 10進数であり、変換後の入力を
 .I format
-¤Î¸å¤í¤Î
+の後ろの
 .I n
-ÈÖÌܤÎ
+番目の
 .I pointer
-°ú¤­¿ô¤¬»²¾È¤¹¤ë¾ì½ê¤Ë³ÊǼ¤¹¤ë¤³¤È¤ò»ØÄꤹ¤ë¡£
+引き数が参照する場所に格納することを指定する。
 .\"O .SS Conversions
-.SS ÊÑ´¹
+.SS 変換
 .\"O The following
 .\"O .I "type modifier characters"
 .\"O can appear in a conversion specification:
-ÊÑ´¹»ØÄê¤Ë¤Ï¡¢°Ê²¼¤Î
-.I "¡Ö·¿½¤¾þ»Ò¡×"
-¤òÆþ¤ì¤ë¤³¤È¤¬¤Ç¤­¤ë¡£
+変換指定には、以下の
+.I "「型修飾子」"
+を入れることができる。
 .TP
 .B h
 .\"O Indicates that the conversion will be one of
@@ -474,15 +474,15 @@ C99 
 .\"O .I unsigned short int
 .\"O (rather than
 .\"O .IR int ).
-ÊÑ´¹¤¬
+変換が
 \fBd\fP, \fBi\fP, \fBo\fP, \fBu\fP, \fBx\fP, \fBX\fP, \fBn\fP
-¤Î¤¤¤º¤ì¤«¤Ç¤¢¤ê¡¢¼¡¤Î¥Ý¥¤¥ó¥¿¤¬
+のいずれかであり、次のポインタが
 .RI ( int
-¤Ç¤Ï¤Ê¤¯)
+ではなく)
 .I short int
-¤«
+か
 .I unsigned short int
-¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤¢¤ë¤³¤È¤ò¼¨¤¹¡£
+へのポインタであることを示す。
 .TP
 .B hh
 .\"O As for
@@ -492,11 +492,11 @@ C99 
 .\"O or
 .\"O .IR "unsigned char" .
 .B h
-¤ÈƱ¤¸¤À¤¬¡¢¼¡¤Î¥Ý¥¤¥ó¥¿¤¬
+と同じだが、次のポインタが
 .I signed char
-¤«
+か
 .I unsigned char
-¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤¢¤ë¤³¤È¤ò¼¨¤¹¡£
+へのポインタであることを示す。
 .TP
 .B j
 .\"O As for
@@ -507,12 +507,12 @@ C99 
 .\"O .IR uintmax_t .
 .\"O This modifier was introduced in C99.
 .B h
-¤ÈƱ¤¸¤À¤¬¡¢¼¡¤Î¥Ý¥¤¥ó¥¿¤¬
+と同じだが、次のポインタが
 .I intmax_t
-¤«
+か
 .I uintmax_t
-¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤¢¤ë¤³¤È¤ò¼¨¤¹¡£
-¤³¤Î½¤¾þ»Ò¤Ï C99 ¤ÇƳÆþ¤µ¤ì¤¿¡£
+へのポインタであることを示す。
+この修飾子は C99 で導入された。
 .TP
 .B l
 .\"O Indicates either that the conversion will be one of
@@ -529,23 +529,23 @@ C99 
 .\"O .I double
 .\"O (rather than
 .\"O .IR float ).
-ÊÑ´¹¤¬
+変換が
 \fBd\fP, \fBi\fP, \fBo\fP, \fBu\fP, \fBx\fP, \fBX\fP, \fBn\fP
-¤«
+か
 .B n
-¤Î¤¤¤º¤ì¤«¤Ç¤¢¤ê¼¡¤Î¥Ý¥¤¥ó¥¿¤¬
+のいずれかであり次のポインタが
 .RI ( int
-¤Ç¤Ï¤Ê¤¯)
+ではなく)
 .I long int
-¤«
+か
 .I unsigned long int
-¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤¢¤ë¤³¤È¡¢¤Þ¤¿¤Ï¡¢ÊÑ´¹¤¬
+へのポインタであること、または、変換が
 \fBe\fP, \fBf\fP, \fBg\fP
-¤Î¤¦¤Á¤Î¤Ò¤È¤Ä¤Ç¤¢¤ê¼¡¤Î¥Ý¥¤¥ó¥¿¤¬
+のうちのひとつであり次のポインタが
 .RI ( float
-¤Ç¤Ï¤Ê¤¯)
+ではなく)
 .I double
-¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤¢¤ë¤³¤È¤Î¤¤¤º¤ì¤«¤Ç¤¢¤ë¤³¤È¤ò¼¨¤¹¡£
+へのポインタであることのいずれかであることを示す。
 .\"O Specifying two
 .\"O .B l
 .\"O characters is equivalent to
@@ -558,16 +558,16 @@ C99 
 .\"O as a pointer to a wide character or wide-character string respectively.
 .\"O .\" This use of l was introduced in Amendment 1 to ISO C90.
 .B l
-ʸ»ú¤òÆó¤Ä»ØÄꤹ¤ë¤È¡¢
+文字を二つ指定すると、
 .B L
-¤ÈƱ¤¸°ÕÌ£¤È¤Ê¤ë¡£
+と同じ意味となる。
 .B %c
-¤ä
+や
 .B %s
-¤È¤È¤â¤Ë»ÈÍѤ¹¤ë¤È¡¢
-¥Ñ¥é¥á¡¼¥¿¤Ï¤½¤ì¤¾¤ì¥ï¥¤¥Éʸ»ú¤ä¥ï¥¤¥Éʸ»úÎó¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤¢¤ë¤È
-¤ß¤Ê¤µ¤ì¤ë¡£
-.\" l ¤Î¤³¤Î»ÈÍÑË¡¤Ï ISO C90 ¤Î Amendment 1 ¤ÇƳÆþ¤µ¤ì¤¿¡£
+とともに使用すると、
+パラメータはそれぞれワイド文字やワイド文字列へのポインタであると
+みなされる。
+.\" l のこの使用法は ISO C90 の Amendment 1 で導入された。
 .TP
 .B L
 .\"O Indicates that the conversion will be either
@@ -579,34 +579,34 @@ C99 
 .\"O and the next pointer is a pointer to
 .\"O .IR "long long" .
 \fBe\fP, \fBf\fP, \fBg\fP
-ÊÑ´¹¤Ç¡¢¼¡¤Î¥Ý¥¤¥ó¥¿¤¬
+変換で、次のポインタが
 .I "long double"
-¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤¢¤ë¤³¤È¤ò¼¨¤¹¡£¤â¤·¤¯¤Ï¡¢
+へのポインタであることを示す。もしくは、
 \fBd\fP, \fBi\fP, \fBo\fP, \fBu\fP, \fBx\fP
-ÊÑ´¹¤Ç¡¢¼¡¤Î¥Ý¥¤¥ó¥¿¤¬
+変換で、次のポインタが
 .I "long long"
-¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤¢¤ë¤³¤È¤Î¤¤¤º¤ì¤«¤Ç¤¢¤ë¤³¤È¤ò¼¨¤¹¡£
+へのポインタであることのいずれかであることを示す。
 .\"O .\" MTK, Jul 05: The following is no longer true for modern
 .\"O .\" ANSI C (i.e., C99):
 .\"O .\" (Note that long long is not an
 .\"O .\" ANSI C
 .\"O .\" type. Any program using this will not be portable to all
 .\"O .\" architectures).
-.\" MTK, Jul 05: °Ê²¼¤ÎÆâÍƤϿ·¤·¤¤ ANSI C (¤Ä¤Þ¤ê C99) ¤Ç¤Ï
-.\" ¤â¤Ï¤äÀµ¤·¤¯¤Ê¤¤¡£
-.\" (long long ¤Ï
+.\" MTK, Jul 05: 以下の内容は新しい ANSI C (つまり C99) では
+.\" もはや正しくない。
+.\" (long long 
 .\" .I ANSI C
-.\" ¤Çµ¬Äꤵ¤ì¤¿·¿¤Ç¤Ï¤Ê¤¤¤³¤È¤ËÃí°Õ¤·¤è¤¦¡£
-.\" ¤³¤ì¤òÍѤ¤¤¿¥×¥í¥°¥é¥à¤ÏÁ´¤Æ¤Î¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤ËÂФ·¤Æ
-.\" °Ü¿¢²Äǽ¤Ç¤Ï¤Ê¤¤¡£)
+.\" で規定された型ではないことに注意しよう。
+.\" これを用いたプログラムは全てのアーキテクチャに対して
+.\" 移植可能ではない。)
 .TP
 .B q
 .\"O equivalent to
 .\"O .BR L .
 .\"O This specifier does not exist in ANSI C.
 .B L
-¤ÈƱ°ì¤Ç¤¢¤ë¡£
-¤³¤Î½¤¾þ»Ò¤Ï ANSI C ¤Ë¤Ï¸ºß¤·¤Ê¤¤¡£
+と同一である。
+この修飾子は ANSI C には存在しない。
 .TP
 .B t
 .\"O As for
@@ -615,10 +615,10 @@ C99 
 .\"O .IR ptrdiff_t .
 .\"O This modifier was introduced in C99.
 .B h
-¤ÈƱÍͤÀ¤¬¡¢¼¡¤Î¥Ý¥¤¥ó¥¿¤¬
+と同様だが、次のポインタが
 .I ptrdiff_t
-¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤¢¤ë¤³¤È¤ò¼¨¤¹¡£
-¤³¤Î½¤¾þ»Ò¤Ï C99 ¤ÇƳÆþ¤µ¤ì¤¿¡£
+へのポインタであることを示す。
+この修飾子は C99 で導入された。
 .TP
 .B z
 .\"O As for
@@ -627,17 +627,17 @@ C99 
 .\"O .IR size_t .
 .\"O This modifier was introduced in C99.
 .B h
-¤ÈƱÍͤÀ¤¬¡¢¼¡¤Î¥Ý¥¤¥ó¥¿¤¬
+と同様だが、次のポインタが
 .I size_t
-¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤¢¤ë¤³¤È¤ò¼¨¤¹¡£
-¤³¤Î½¤¾þ»Ò¤Ï C99 ¤ÇƳÆþ¤µ¤ì¤¿¡£
+へのポインタであることを示す。
+この修飾子は C99 で導入された。
 .PP
 .\"O The following
 .\"O .I "conversion specifiers"
 .\"O are available:
-°Ê²¼¤Î
-.I ¡ÖÊÑ´¹»ØÄê»Ò¡×
-¤¬ÍøÍѲÄǽ¤Ç¤¢¤ë¡£
+以下の
+.I 「変換指定子」
+が利用可能である。
 .TP
 .B %
 .\"O Matches a literal \(aq%\(aq.
@@ -647,21 +647,21 @@ C99 
 .\"O single input \(aq%\(aq character.
 .\"O No conversion is done (but initial white space characters are discarded),
 .\"O and assignment does not occur.
-ʸ»ú \(aq%\(aq ¤ËÂбþ¤¹¤ë¡£
-½ñ¼°Ê¸»úÎó¤ÎÃæ¤Î
+文字 \(aq%\(aq に対応する。
+書式文字列の中の
 .B %\&%
-¤Ïñ°ì¤Îʸ»ú \(aq%\(aq ¤ËÂбþ¤¹¤ë¡£
-ÊÑ´¹¤Ï¹Ô¤ï¤ì¤º (⤷¡¢ÀèƬ¤Î¥Û¥ï¥¤¥È¥¹¥Ú¡¼¥¹Ê¸»ú¤Ï¼Î¤Æ¤é¤ì¤ë)¡¢
-ÊÑ¿ô¤Ø¤ÎÂåÆþ¤ÏÀ¸¤¸¤Ê¤¤¡£
+は単一の文字 \(aq%\(aq に対応する。
+変換は行われず (但し、先頭のホワイトスペース文字は捨てられる)、
+変数への代入は生じない。
 .TP
 .B d
 .\"O Matches an optionally signed decimal integer;
 .\"O the next pointer must be a pointer to
 .\"O .IR int .
-Éä¹æ¤Ä¤­¤Î 10¿Ê¤ÎÀ°¿ô¤ËÂбþ¤¹¤ë¡£
-¼¡¤Î¥Ý¥¤¥ó¥¿¤Ï
+符号つきの 10進の整数に対応する。
+次のポインタは
 .I int
-¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
+へのポインタでなければならない。
 .TP
 .B D
 .\"O Equivalent to
@@ -672,10 +672,10 @@ C99 
 .\"O .B %D
 .\"O is silently ignored, causing old programs to fail mysteriously.)
 .I ld
-¤ÈƱ°ì¤Ç¤¢¤ë¡£¤³¤ì¤Ï°ÊÁ°¤Î»ÅÍͤȤθߴ¹À­¤À¤±¤Î¤¿¤á¤Ë¤¢¤ë¡£
-(Ãí°Õ: ¤³¤ì¤Ï libc4 ¤Î¾ì¹ç¤À¤±¤Ç¤¢¤ë¡£ libc5 ¤ä glibc ¤Ç¤Ï
+と同一である。これは以前の仕様との互換性だけのためにある。
+(注意: これは libc4 の場合だけである。 libc5 や glibc では
 .B %D
-¤Ï°ÅÌۤΤ¦¤Á¤Ë̵»ë¤µ¤ì¡¢¸Å¤¤¥×¥í¥°¥é¥à¤Ë¤ª¤¤¤ÆÆæ¤ËËþ¤Á¤¿¼ºÇԤθ¶°ø¤È¤Ê¤ë¡£)
+は暗黙のうちに無視され、古いプログラムにおいて謎に満ちた失敗の原因となる。)
 .TP
 .B i
 .\"O Matches an optionally signed integer; the next pointer must be a pointer to
@@ -688,84 +688,84 @@ C99 
 .\"O .IR 0 ,
 .\"O and in base 10 otherwise.
 .\"O Only characters that correspond to the base are used.
-Éä¹æ¤Ä¤­À°¿ô¤ËÂбþ¤¹¤ë¡£
-¼¡¤Î¥Ý¥¤¥ó¥¿¤Ï
+符号つき整数に対応する。
+次のポインタは
 .I int
-¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
-¤³¤ÎÀ°¿ô¤Ï
+へのポインタでなければならない。
+この整数は
 .I 0x
-¤Þ¤¿¤Ï
+または
 .I 0X
-¤Ç³«»Ï¤¹¤ë¾ì¹ç¤Ë¤Ï 16 ¿Ê¿ô¡¢
+で開始する場合には 16 進数、
 .I 0
-¤Ç³«»Ï¤¹¤ë¾ì¹ç¤Ë¤Ï 8 ¿Ê¿ô¡¢¤½¤Î¾¤Î¾ì¹ç¤Ë¤Ï 10¿Ê¿ô¤È¤·¤ÆÆɤ߹þ¤Þ¤ì¤ë¡£
-¤³¤ÎÊÑ´¹¤Ç»ÈÍѤµ¤ì¤ëʸ»ú¤Ï¡¢¤³¤ì¤é¤Î´ð¿ô¤ËÂбþ¤·¤Æ¤¤¤ë¤â¤Î¤À¤±¤Ç¤¢¤ë¡£
+で開始する場合には 8 進数、その他の場合には 10進数として読み込まれる。
+この変換で使用される文字は、これらの基数に対応しているものだけである。
 .TP
 .B o
 .\"O Matches an unsigned octal integer; the next pointer must be a pointer to
 .\"O .IR "unsigned int" .
-Éä¹æ¤Ê¤·¤Î 8 ¿Ê¤ÎÀ°¿ô¤ËÂбþ¤¹¤ë¡£
-¼¡¤Î¥Ý¥¤¥ó¥¿¤Ï
+符号なしの 8 進の整数に対応する。
+次のポインタは
 .I "unsigned int"
-¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
+でなければならない。
 .TP
 .B u
 .\"O Matches an unsigned decimal integer; the next pointer must be a
 .\"O pointer to
 .\"O .IR "unsigned int" .
-Éä¹æ¤Ê¤·¤Î 10¿Ê¤ÎÀ°¿ô¤ËÂбþ¤¹¤ë¡£
-¼¡¤Î¥Ý¥¤¥ó¥¿¤Ï
+符号なしの 10進の整数に対応する。
+次のポインタは
 .I "unsigned int"
-¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
+へのポインタでなければならない。
 .TP
 .B x
 .\"O Matches an unsigned hexadecimal integer; the next pointer must
 .\"O be a pointer to
 .\"O .IR "unsigned int" .
-Éä¹æ¤Ê¤·¤Î 16 ¿Ê¤ÎÀ°¿ô¤ËÂбþ¤¹¤ë¡£
-¼¡¤Î¥Ý¥¤¥ó¥¿¤Ï
+符号なしの 16 進の整数に対応する。
+次のポインタは
 .I "unsigned int"
-¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
+へのポインタでなければならない。
 .TP
 .B X
 .\"O Equivalent to
 .\"O .BR x .
 .B x
-¤ÈƱ°ì¤Ç¤¢¤ë¡£
+と同一である。
 .TP
 .B f
 .\"O Matches an optionally signed floating-point number; the next pointer must
 .\"O be a pointer to
 .\"O .IR float .
-Éä¹æ¤Ä¤­ÉâÆ°¾®¿ôÅÀ¼Â¿ô¤ËÂбþ¤¹¤ë¡£
-¼¡¤Î¥Ý¥¤¥ó¥¿¤Ï
+符号つき浮動小数点実数に対応する。
+次のポインタは
 .I float
-¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
+へのポインタでなければならない。
 .TP
 .B e
 .\"O Equivalent to
 .\"O .BR f .
 .B f
-¤ÈƱ°ì¤Ç¤¢¤ë¡£
+と同一である。
 .TP
 .B g
 .\"O Equivalent to
 .\"O .BR f .
 .B f
-¤ÈƱ°ì¤Ç¤¢¤ë¡£
+と同一である。
 .TP
 .B E
 .\"O Equivalent to
 .\"O .BR f .
 .B f
-¤ÈƱ°ì¤Ç¤¢¤ë¡£
+と同一である。
 .TP
 .B a
 .\"O (C99) Equivalent to
 .\"O .BR f .
 (C99)
 .B f
-¤ÈƱ°ì¤Ç¤¢¤ë¡£
+と同一である。
 .TP
 .B s
 .\"O Matches a sequence of non-white-space characters;
@@ -774,12 +774,12 @@ C99 
 .\"O the terminating null byte (\(aq\\0\(aq), which is added automatically.
 .\"O The input string stops at white space or at the maximum field
 .\"O width, whichever occurs first.
-¥Û¥ï¥¤¥È¥¹¥Ú¡¼¥¹¤Ç¤Ï¤Ê¤¤Ê¸»ú¤Ç¹½À®¤µ¤ì¤¿Ê¸»úÎó¤ËÂбþ¤¹¤ë¡£
-¼¡¤Î¥Ý¥¤¥ó¥¿¤Ïʸ»ú¤ÎÇÛÎó¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤º¡¢
-¤½¤Îʸ»úÇÛÎó¤Ï¡¢ÆþÎϤµ¤ì¤¿Ê¸»úÎó¤È (¼«Æ°Åª¤ËÄɲ䵤ì¤ë) ½ªÃ¼¤Î NULL
-¥Ð¥¤¥È (\(aq\\0\(aq) ¤ò³ÊǼ¤¹¤ë¤Î¤Ë½½Ê¬¤ÊÂ礭¤µ¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
-ʸ»úÎó¤ÎÆþÎϤϡ¢¥Û¥ï¥¤¥È¥¹¥Ú¡¼¥¹¤¬ÆþÎϤµ¤ì¤ë¤«¡¢ºÇÂç¥Õ¥£¡¼¥ë¥ÉÉý¤Ë
-㤹¤ë¤«¡¢¤Î¤É¤Á¤é¤«¤¬µ¯¤³¤ë¤ÈÄä»ß¤µ¤ì¤ë¡£
+ホワイトスペースではない文字で構成された文字列に対応する。
+次のポインタは文字の配列へのポインタでなければならず、
+その文字配列は、入力された文字列と (自動的に追加される) 終端の NULL
+バイト (\(aq\\0\(aq) を格納するのに十分な大きさでなければならない。
+文字列の入力は、ホワイトスペースが入力されるか、最大フィールド幅に
+達するか、のどちらかが起こると停止される。
 .TP
 .B c
 .\"O Matches a sequence of characters whose length is specified by the
@@ -791,15 +791,15 @@ C99 
 .\"O is added).
 .\"O The usual skip of leading white space is suppressed.
 .\"O To skip white space first, use an explicit space in the format.
-.I "¡ÖºÇÂç¥Õ¥£¡¼¥ë¥ÉÉý¡×"
-(¥Ç¥Õ¥©¥ë¥È¤Ï 1) ¤Ç»ØÄꤵ¤ì¤¿Éý¤Îʸ»ú¤ÎÎó¤ËÂбþ¤¹¤ë¡£
-¼¡¤Î¥Ý¥¤¥ó¥¿¤Ï
+.I "「最大フィールド幅」"
+(デフォルトは 1) で指定された幅の文字の列に対応する。
+次のポインタは
 .I char
-¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¡¢¤¹¤Ù¤Æ¤Îʸ»ú¤ò³ÊǼ¤¹¤ë¤Î¤Ë½½Ê¬¤ÊÎΰ褬
-¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤ (½ªÃ¼¤Î NULL ¥Ð¥¤¥È¤ÏÄɲ䵤ì¤Ê¤¤)¡£
-Ä̾ï¹Ô¤ï¤ì¤ëÀèƬ¤Î¥Û¥ï¥¤¥È¥¹¥Ú¡¼¥¹¤ÎÆɤßÈô¤Ð¤·¤Ï¹Ô¤ï¤ì¤Ê¤¤¡£
-ÀèƬ¤Î¥Û¥ï¥¤¥È¥¹¥Ú¡¼¥¹¤òÆɤßÈô¤Ð¤¹¤¿¤á¤Ë¤Ï¡¢
-¥Õ¥©¡¼¥Þ¥Ã¥Èʸ¤ÎÃæ¤ÇÌÀ¼¨Åª¤Ë¥¹¥Ú¡¼¥¹¤ò»ÈÍѤ¹¤ì¤ÐÎɤ¤¡£
+へのポインタで、すべての文字を格納するのに十分な領域が
+なければならない (終端の NULL バイトは追加されない)。
+通常行われる先頭のホワイトスペースの読み飛ばしは行われない。
+先頭のホワイトスペースを読み飛ばすためには、
+フォーマット文の中で明示的にスペースを使用すれば良い。
 .TP
 .B \&[
 .\"O Matches a nonempty sequence of characters from the specified set of
@@ -808,14 +808,14 @@ C99 
 .\"O and there must be enough room for all the characters in the string, plus a
 .\"O terminating null byte.
 .\"O The usual skip of leading white space is suppressed.
-³ÊǼ¤µ¤ì¤¿Ê¸»úÎó¤Î¤¦¤Á¤«¤é¼è¤ê½Ð¤µ¤ì¤¿¡¢
-»ØÄꤵ¤ì¤¿Ê¸»ú¤Î½¸¹ç¤Ç¹½À®¤µ¤ì¤ë¶õ¤Ç¤Ï¤Ê¤¤Ê¸»ú¤ÎÎó¤ËÂбþ¤¹¤ë¡£
-¼¡¤Î¥Ý¥¤¥ó¥¿¤Ï
+格納された文字列のうちから取り出された、
+指定された文字の集合で構成される空ではない文字の列に対応する。
+次のポインタは
 .I char
-¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤º¡¢
-¤½¤³¤Ë¤Ïʸ»úÎóÃæ¤Î¤¹¤Ù¤Æ¤Îʸ»ú¤È½ªÃ¼¤Î NULL ¥Ð¥¤¥È
-¤ò³ÊǼ¤¹¤ë¤¿¤á¤Î½½Ê¬¤ÊÎΰ褬¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
-Ä̾ï¹Ô¤ï¤ì¤ëÀèƬ¤Î¥Û¥ï¥¤¥È¥¹¥Ú¡¼¥¹¤ÎÆɤßÈô¤Ð¤·¤Ï¹Ô¤ï¤ì¤Ê¤¤¡£
+へのポインタでなければならず、
+そこには文字列中のすべての文字と終端の NULL バイト
+を格納するための十分な領域がなければならない。
+通常行われる先頭のホワイトスペースの読み飛ばしは行われない。
 .\"O The string is to be made up of characters in (or not in) a particular set;
 .\"O the set is defined by the characters between the open bracket
 .\"O .B [
@@ -827,16 +827,16 @@ C99 
 .\"O those characters if the first character after the open bracket is a
 .\"O circumflex
 .\"O .RB ( ^ ).
-¤³¤Îʸ»úÎó¤ÏÆÃÊ̤ʽ¸¹ç¤ÎÃæ¤Îʸ»ú¤Ç¹½À®¤µ¤ì¤Æ¤¤¤ë¡£
-¤³¤Î½¸¹ç¤Ï
-³«¤­³ç¸Ì
+この文字列は特別な集合の中の文字で構成されている。
+この集合は
+開き括弧
 .B [
-¤ÈÊĤ¸³ç¸Ì
+と閉じ括弧
 .B ]
-¤Î´Ö¤Îʸ»ú¤ÇÄêµÁ¤µ¤ì¤ë¡£
-³«¤­³ç¸Ì¤Î¤¢¤È¤ÎºÇ½é¤Îʸ»ú¤¬¶Ê¥¢¥¯¥»¥ó¥Èµ­¹æ
+の間の文字で定義される。
+開き括弧のあとの最初の文字が曲アクセント記号
 .RB ( ^ )
-¤Î¾ì¹ç¡¢½¸¹ç¤Ï¤³¤ì¤é¤Îʸ»ú¤ò´Þ¤Þ¤Ê¤¤¤â¤Î¤È¤Ê¤ë¡£
+の場合、集合はこれらの文字を含まないものとなる。
 .\"O To include a close bracket in the set, make it the first character after
 .\"O the open bracket or the circumflex; any other position will end the set.
 .\"O The hyphen character
@@ -845,28 +845,28 @@ C99 
 .\"O intervening characters to the set.
 .\"O To include a hyphen, make it the last
 .\"O character before the final close bracket.
-ÊĤ¸³ç¸Ì¤ò½¸¹ç¤Ë´Þ¤Þ¤»¤ë¤¿¤á¤Ë¤Ï¡¢¤³¤Îʸ»ú¤ò³«¤­³ç¸Ì¤Þ¤¿¤Ï
-¶Ê¥¢¥¯¥»¥ó¥Èµ­¹æ¤Î¤¢¤È¤ÎºÇ½é¤Îʸ»ú¤Ë¤¹¤ì¤Ð¤è¤¤¡£
-¤Ä¤Þ¤ê¡¢Â¾¤Î°ÌÃÖ¤ËÊĤ¸³ç¸Ì¤òÃÖ¤¯¤Èʸ»ú¤Î½¸¹ç¤¬½ª¤ë¡£
-¥Ï¥¤¥Õ¥ó
+閉じ括弧を集合に含ませるためには、この文字を開き括弧または
+曲アクセント記号のあとの最初の文字にすればよい。
+つまり、他の位置に閉じ括弧を置くと文字の集合が終る。
+ハイフン
 .B \-
-¤â¤Þ¤¿Æüìʸ»ú¤Ç¤¢¤ë¡£
-Æó¤Ä¤Î°Û¤Ê¤ëʸ»ú¤Î´Ö¤ËÃÖ¤«¤ì¤¿»þ¡¢¤³¤Îʸ»ú¤Ï¡¢
-¤½¤Î´Ö¤Ë¤¢¤ëÁ´¤Æ¤Îʸ»ú¤ò½¸¹ç¤Ë²Ã¤¨¤ë¡£
-¥Ï¥¤¥Õ¥ó¼«ÂΤò´Þ¤Þ¤»¤ë¤¿¤á¤Ë¤Ï¡¢
-³ç¸Ì¤¬ÊĤ¸¤ëÁ°¤ÎºÇ¸å¤Î°ìʸ»ú¤ò¥Ï¥¤¥Õ¥ó¤Ë¤¹¤ì¤Ð¤è¤¤¡£
+もまた特殊文字である。
+二つの異なる文字の間に置かれた時、この文字は、
+その間にある全ての文字を集合に加える。
+ハイフン自体を含ませるためには、
+括弧が閉じる前の最後の一文字をハイフンにすればよい。
 .\"O For instance,
 .\"O .B [^]0\-9\-]
 .\"O means
 .\"O the set "everything except close bracket, zero through nine, and hyphen".
 .\"O The string ends with the appearance of a character not in the (or, with a
 .\"O circumflex, in) set or when the field width runs out.
-Î㤨¤Ð¡¢
+例えば、
 .B [^]0\-9\-]
-¤Ï¡ÖÊĤ¸³ç¸Ì¡¢0 ¡Á 9¡¢¥Ï¥¤¥Õ¥ó¤Î 3 ¼ïÎà¤ò½ü¤¯Á´¤Æ¤Îʸ»ú¡×¤Î½¸¹ç¤ò°ÕÌ£¤¹¤ë¡£
-¤³¤Îʸ»úÎó¤Ï
-½¸¹ç¤Ë´Þ¤Þ¤ì¤Æ¤¤¤Ê¤¤ (¶Ê¥¢¥¯¥»¥ó¥È¤Î¾ì¹ç¤Ë¤Ï´Þ¤Þ¤ì¤ë) Ê¸»ú¤Î
-½Ð¸½¤Þ¤¿¤Ï³ÎÊݤµ¤ì¤¿Îΰ褬»È¤¤ÀÚ¤é¤ì¤¿»þ¤Ë½ªÎ»¤¹¤ë¡£
+は「閉じ括弧、0 〜 9、ハイフンの 3 種類を除く全ての文字」の集合を意味する。
+この文字列は
+集合に含まれていない (曲アクセントの場合には含まれる) 文字の
+出現または確保された領域が使い切られた時に終了する。
 .TP
 .B p
 .\"O Matches a pointer value (as printed by
@@ -876,34 +876,34 @@ C99 
 .\"O the next pointer must be a pointer to a pointer to
 .\"O .IR void .
 .RB ( printf (3)
-¤Î
+の
 .B %p
-¤Ç°õ»ú¤µ¤ì¤ë¤è¤¦¤Ê) ¥Ý¥¤¥ó¥¿ÃͤËÂбþ¤¹¤ë¡£
-¼¡¤Î¥Ý¥¤¥ó¥¿¤Ï
+で印字されるような) ポインタ値に対応する。
+次のポインタは
 .I void
-¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
+へのポインタへのポインタでなければならない。
 .TP
 .B n
 .\"O Nothing is expected; instead, the number of characters consumed thus far
 .\"O from the input is stored through the next pointer, which must be a pointer
 .\"O to
 .\"O .IR int .
-¤É¤ó¤ÊÆþÎϤâɬÍפȤ·¤Ê¤¤¡£
-¤½¤Î¤«¤ï¤ê¤Ë¡¢
-ÆþÎϤ«¤é¤³¤³¤Þ¤Ç¾ÃÈñ¤µ¤ì¤¿Ê¸»ú¿ô¤¬¼¡¤Î¥Ý¥¤¥ó¥¿¤Ç»ØÄꤵ¤ì¤¿¾ì½ê¤Ë
-³ÊǼ¤µ¤ì¤ë¡£
-¤³¤Î¥Ý¥¤¥ó¥¿¤Ï
+どんな入力も必要としない。
+そのかわりに、
+入力からここまで消費された文字数が次のポインタで指定された場所に
+格納される。
+このポインタは
 .I int
-¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
+へのポインタでなければならない。
 .\"O This is
 .\"O .I not
 .\"O a conversion, although it can be suppressed with the
 .\"O .B *
 .\"O assignment-suppression character.
-ÊÑ´¹¤òÍÞÀ©¤¹¤ë¤Î¤Ç¤¢¤ì¤Ð
+変換を抑制するのであれば
 .B *
-ÂåÆþÍÞÀ©Ê¸»ú¤ò»È¤Ã¤ÆÍÞÀ©¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¤Î¤À¤¬¡¢
-¤³¤ÎÊÑ´¹»ØÄê»Ò¤ÏÊÑ´¹¤Ç¤Ï¡Ö¤Ê¤¤¡×¡£
+代入抑制文字を使って抑制することができるのだが、
+この変換指定子は変換では「ない」。
 .\"O The C standard says: "Execution of a
 .\"O .B %n
 .\"O directive does not increment
@@ -913,22 +913,22 @@ C99 
 .\"O not to make any assumptions on the effect of
 .\"O .B %n
 .\"O conversions on the return value.
-C ¸À¸ì¤Îɸ½àµ¬³Ê¤Ç¤Ï¡Ö¼Â¹Ô¤Î´°Î»»þ¤ËÊÖ¤µ¤ì¤ëÂåÆþ¤Î²ó¿ô¤Ï
+C 言語の標準規格では「実行の完了時に返される代入の回数は
 .B %n
-Ì¿Îá¤Î¼Â¹Ô¤Ç¤ÏÁý²Ã¤·¤Ê¤¤¡×¤È¤Ê¤Ã¤Æ¤¤¤ë¤¬¡¢
-Àµ¸íɽ¤ÎÆâÍƤϤ³¤ì¤ÈÌ·½â¤¹¤ë¤è¤¦¤Ç¤¢¤ë¡£¤ª¤½¤é¤¯¡¢
+命令の実行では増加しない」となっているが、
+正誤表の内容はこれと矛盾するようである。おそらく、
 .B %n
-ÊÑ´¹¤¬ÊÖ¤êÃͤËÍ¿¤¨¤ë±Æ¶Á¤Ë¤Ä¤¤¤Æ¤Ï¤É¤Î¤è¤¦¤Ê²¾Äê¤â¤·¤Ê¤¤¤Î¤¬
-¸­ÌÀ¤Ç¤¢¤í¤¦¡£
+変換が返り値に与える影響についてはどのような仮定もしないのが
+賢明であろう。
 .\"O .SH "RETURN VALUE"
-.SH ÊÖ¤êÃÍ
+.SH 返り値
 .\"O These functions return the number of input items
 .\"O successfully matched and assigned,
 .\"O which can be fewer than provided for,
 .\"O or even zero in the event of an early matching failure.
-¤³¤ì¤é¤Î´Ø¿ô¤Ï¡¢°ìÃפÈÂåÆþ¤¬À®¸ù¤·¤¿ÆþÎÏÍ×ÁǤθĿô¤òÊÖ¤¹¡£
-ÊÖ¤µ¤ì¤ëÃͤÏÅϤµ¤ì¤¿ÊÑ´¹¤Î¸Ä¿ô¤è¤ê¤â¾¯¤Ê¤¤¤³¤È¤â¤¢¤ê¡¢
-ºÇ½é¤Ë°ìÃפμºÇÔ¤¬¤¢¤Ã¤¿¾ì¹ç¤Ë¤Ï 0 ¤Ë¤Ê¤ë¤³¤È¤â¤¢¤ë¡£
+これらの関数は、一致と代入が成功した入力要素の個数を返す。
+返される値は渡された変換の個数よりも少ないこともあり、
+最初に一致の失敗があった場合には 0 になることもある。
 
 .\"O The value
 .\"O .B EOF
@@ -941,65 +941,65 @@ C 
 .\"O is set, and
 .\"O .I errno
 .\"O is set indicate the error.
-ºÇ½é¤ÎÊÑ´¹¤¬À®¸ù¤¹¤ëÁ°¤ËÆþÎϤκǸå¤Ë㤷¤Æ¡¢°ìÃפμºÇÔ¤¬µ¯¤³¤Ã¤¿¾ì¹ç¤Ë¤Ï¡¢
+最初の変換が成功する前に入力の最後に達して、一致の失敗が起こった場合には、
 .B EOF
-¤¬ÊÖ¤µ¤ì¤ë¡£¤Þ¤¿¡¢
-Æɤ߹þ¤ß¥¨¥é¡¼¤¬È¯À¸¤·¤¿¾ì¹ç¤Ë¤â
+が返される。また、
+読み込みエラーが発生した場合にも
 .B EOF
-¤¬ÊÖ¤µ¤ì¤ë¡£Æɤ߹þ¤ß¥¨¥é¡¼¤Î¾ì¹ç¤Ë¤Ï¡¢¤½¤Î¥¹¥È¥ê¡¼¥à¤Î
-¥¨¥é¡¼»Ø¼¨»Ò¤¬¥»¥Ã¥È¤µ¤ì
+が返される。読み込みエラーの場合には、そのストリームの
+エラー指示子がセットされ
 .RB ( ferror (3)
-»²¾È)¡¢
+参照)、
 .I errno
-¤Ë¥¨¥é¡¼¤ò¼¨¤¹Ãͤ¬¥»¥Ã¥È¤µ¤ì¤ë¡£
+にエラーを示す値がセットされる。
 .\"O .SH ERRORS
-.SH ¥¨¥é¡¼
+.SH ã\82¨ã\83©ã\83¼
 .TP
 .B EAGAIN
 .\"O The file descriptor underlying
 .\"O .I stream
 .\"O is marked nonblocking, and the read operation would block.
 .I stream
-¤ËÂбþ¤¹¤ë¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤¬ nonblocking ¤È¤Ê¤Ã¤Æ¤ª¤ê¡¢
-Æɤ߹þ¤ßÁàºî¤ÏÄä»ß (block) ¤¹¤ë¤³¤È¤Ë¤Ê¤ë¡£
+に対応するファイルディスクリプタが nonblocking となっており、
+読み込み操作は停止 (block) することになる。
 .TP
 .B EBADF
 .\"O The file descriptor underlying
 .\"O .I stream
 .\"O is invalid, or not open for reading.
 .I stream
-¤ËÂбþ¤¹¤ë¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤¬Ìµ¸ú¤Ç¤¢¤ë¤¬¡¢
-Æɤ߹þ¤ßÍѤ˥ª¡¼¥×¥ó¤µ¤ì¤Æ¤¤¤Ê¤¤¡£
+に対応するファイルディスクリプタが無効であるが、
+読み込み用にオープンされていない。
 .TP
 .B EILSEQ
 .\"O Input byte sequence does not form a valid character.
-ÆþÎϤµ¤ì¤¿¥Ð¥¤¥ÈÎó¤¬Í­¸ú¤Êʸ»ú¤ò¹½À®¤·¤Æ¤¤¤Ê¤¤¡£
+入力されたバイト列が有効な文字を構成していない。
 .TP
 .B EINTR
 .\"O The read operation was interrupted by a signal; see
 .\"O .BR signal (7).
-Æɤ߹þ¤ßÁàºî¤¬¥·¥°¥Ê¥ë¤Ë¤è¤ê³ä¤ê¹þ¤Þ¤ì¤¿¡£
+読み込み操作がシグナルにより割り込まれた。
 .BR signal (7)
-»²¾È¡£
+参照。
 .TP
 .B EINVAL
 .\"O Not enough arguments; or
 .\"O .I format
 .\"O is NULL.
-°ú¤­¿ô¤¬½½Ê¬¤Ç¤Ê¤¤¡£¤Þ¤¿¤Ï
+引き数が十分でない。または
 .I format
-¤¬ NULL ¤Ç¤¢¤ë¡£
+が NULL である。
 .TP
 .B ENOMEM
 .\"O Out of memory.
-¥á¥â¥êÉÔ­¡£
+メモリ不足。
 .TP
 .B ERANGE
 .\"O The result of an integer conversion would exceed the size
 .\"O that can be stored in the corresponding integer type.
-À°¿ôÊÑ´¹¤Î·ë²Ì¤¬¡¢Âбþ¤¹¤ëÀ°¿ô·¿¤Ë³ÊǼ¤Ç¤­¤ë¥µ¥¤¥º¤ò±Û¤¨¤Æ¤·¤Þ¤¦¡£
+整数変換の結果が、対応する整数型に格納できるサイズを越えてしまう。
 .\"O .SH "CONFORMING TO"
-.SH ½àµò
+.SH 準拠
 .\"O The functions
 .\"O .BR fscanf (),
 .\"O .BR scanf (),
@@ -1012,29 +1012,29 @@ C 
 .BR fscanf (),
 .BR scanf (),
 .BR sscanf ()
-´Ø¿ô¤Ï C89, C99, POSIX.1-2001 ¤Ë½àµò¤·¤Æ¤¤¤ë¡£
-¤³¤ì¤é¤Îɸ½à¤Ç¤Ï¡¢¥¨¥é¡¼
+関数は C89, C99, POSIX.1-2001 に準拠している。
+ã\81\93ã\82\8cã\82\89ã\81®æ¨\99æº\96ã\81§ã\81¯ã\80\81ã\82¨ã\83©ã\83¼
 .B ERANGE
-¤Ïµ¬Äꤵ¤ì¤Æ¤¤¤Ê¤¤¡£
+は規定されていない。
 .PP
 .\"O The
 .\"O .B q
 .\"O specifier is the 4.4BSD notation for
 .\"O .IR "long long" ,
 .B q
-»ØÄê»Ò¤Ï
+指定子は
 .I "long long"
-¤Î 4.4BSD ¤Ç¤Îµ­½ÒÊýË¡¤Ç¤¢¤ë¡£
+の 4.4BSD での記述方法である。
 .\"O while
 .\"O .B ll
 .\"O or the usage of
 .\"O .B L
 .\"O in integer conversions is the GNU notation.
-°ìÊý¡¢À°¿ôÊÑ´¹¤Ç¤Î
+一方、整数変換での
 .B ll
-¤Þ¤¿¤Ï
+または
 .B L
-¤Î»ÈÍѤϠGNU ¤Ç¤Î³ÈÄ¥¤Ç¤¢¤ë¡£
+の使用は GNU での拡張である。
 .PP
 .\"O The Linux version of these functions is based on the
 .\"O .I GNU
@@ -1046,18 +1046,18 @@ C 
 .\"O .I GNU
 .\"O .I libc (glibc-1.08)
 .\"O for a more concise description.
-¤³¤ì¤é¤Î´Ø¿ô¤Î Linux ÈǤÏ
+これらの関数の Linux 版は
 .I GNU
 .I libio
-¥é¥¤¥Ö¥é¥ê¡¼¤ò¸µ¤Ë¤·¤Æ¤¤¤ë¡£
-¤è¤ê´Ê·é¤ÊÀâÌÀ¤Ë¤Ï
+ライブラリーを元にしている。
+より簡潔な説明には
 .I GNU
 .I libc (glibc-1.08)
-¤Î
+の
 .I info
-ʸ½ñ¤ËÌܤòÄ̤¹¤³¤È¡£
+文書に目を通すこと。
 .\"O .SH NOTES
-.SH Ãí°Õ
+.SH 注意
 .\"O The GNU C library supports a nonstandard extension that causes
 .\"O the library to dynamically allocate a string of sufficient size
 .\"O for input strings for the
@@ -1065,15 +1065,15 @@ C 
 .\"O and
 .\"O \fB%a[\fP\fIrange\fP\fB]\fP
 .\"O conversion specifiers.
-GNU C ¥é¥¤¥Ö¥é¥ê (glibc) ¤Ç¤ÏÈóɸ½à¤Î¥ª¥×¥·¥ç¥ó¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤ª¤ê¡¢
-¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»È¤¦¤ÈÊÑ´¹»ØÄê»Ò
+GNU C ライブラリ (glibc) では非標準のオプションをサポートしており、
+このオプションを使うと変換指定子
 .B %s
-¤ä
+や
 \fB%a[\fP\fIrange\fP\fB]\fP
-¤Ø¤ÎÆþÎÏʸ»úÎó¤ËÂФ·¤Æ½½Ê¬¤ÊÂ礭¤µ¤Îʸ»úÎó¤ò¥é¥¤¥Ö¥é¥ê¤¬Æ°Åª¤Ë³ÎÊݤ¹¤ë
-¤è¤¦¤Ë¤Ê¤ë¡£
+への入力文字列に対して十分な大きさの文字列をライブラリが動的に確保する
+ようになる。
 .\"O .\" This feature seems to be present at least as far back as glibc 2.0.
-.\" ¤³¤Îµ¡Ç½¤Ï¾¯¤Ê¤¯¤È¤â glibc 2.0 »þÅÀ¤«¤é¸ºß¤·¤Æ¤¤¤ë¤è¤¦¤À¡£
+.\" この機能は少なくとも glibc 2.0 時点から存在しているようだ。
 .\"O To make use of this feature, specify
 .\"O .B a
 .\"O as a length modifier (thus
@@ -1083,15 +1083,15 @@ GNU C 
 .\"O The caller must
 .\"O .BR free (3)
 .\"O the returned string, as in the following example:
-¤³¤Îµ¡Ç½¤ò»ÈÍѤ¹¤ë¤Ë¤Ï¡¢Ä¹¤µ½¤¾þ»Ò¤È¤·¤Æ
+この機能を使用するには、長さ修飾子として
 .B a
-¤ò»ØÄꤹ¤ë (¤·¤¿¤¬¤Ã¤Æ¡¢Á´ÂΤȤ·¤Æ¤Ï
+を指定する (したがって、全体としては
 .B %as
-¤ä
-\fB%a[\fP\fIrange\fP\fB]\fP ¤È¤Ê¤ë)¡£
-°Ê²¼¤ÎÎã¤Ë¤¢¤ë¤è¤¦¤Ë¡¢¸Æ¤Ó½Ð¤·Â¦¤ÏÊÖ¤µ¤ì¤¿Ê¸»úÎó¤ò
+や
+\fB%a[\fP\fIrange\fP\fB]\fP となる)。
+以下の例にあるように、呼び出し側は返された文字列を
 .BR free (3)
-¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
+しなければならない。
 .in +4n
 .nf
 
@@ -1116,11 +1116,11 @@ if (n == 1) {
 .\"O if the
 .\"O .BR scanf ()
 .\"O call successfully read a string.
-¾åµ­¤ÎÎã¤Ë¤¢¤ë¤è¤¦¤Ë¡¢
+上記の例にあるように、
 .BR scanf ()
-¤¬Ê¸»úÎó¤ÎÆɤ߹þ¤ß¤ËÀ®¸ù¤·¤¿¾ì¹ç¤Ë¤À¤±¡¢
+が文字列の読み込みに成功した場合にだけ、
 .BR free (3)
-¤ò¸Æ¤Ó½Ð¤¹É¬Íפ¬¤¢¤ë¡£
+を呼び出す必要がある。
 .PP
 .\"O The
 .\"O .B a
@@ -1134,16 +1134,16 @@ if (n == 1) {
 .\"O .B a
 .\"O is interpreted as a specifier for floating-point numbers (see above).
 .I "gcc -std=c99"
-¤ä
+や
 .I "gcc -D_ISOC99_SOURCE"
-¤Ç¥³¥ó¥Ñ¥¤¥ë¤·¤¿¥×¥í¥°¥é¥à¤Ç¤Ï
+でコンパイルしたプログラムでは
 .RB ( _GNU_SOURCE
-¤âƱ»þ¤Ë»ØÄꤷ¤Æ¤¤¤Ê¤¤¾ì¹ç)¡¢
+も同時に指定していない場合)、
 .B a
-½¤¾þ»Ò¤ÏÍøÍѤǤ­¤Ê¤¤¡£
-¾åµ­¤Î¾ì¹ç¡¢
+修飾子は利用できない。
+上記の場合、
 .B a
-¤Ï (¾å½Ò¤ÎÄ̤ê) ÉâÆ°¾®¿ôÅÀ¿ô¤ò¼¨¤¹ÊÑ´¹»ØÄê»Ò¤È²ò¼á¤µ¤ì¤ë¡£
+は (上述の通り) 浮動小数点数を示す変換指定子と解釈される。
 
 .\"O Since version 2.7, glibc also provides the
 .\"O .B m
@@ -1153,37 +1153,37 @@ if (n == 1) {
 .\"O The
 .\"O .B m
 .\"O modifier has the following advantages:
-¥Ð¡¼¥¸¥ç¥ó 2.7 °Ê¹ß¤Ç¤Ï¡¢glibc ¤Ï
+バージョン 2.7 以降では、glibc は
 .B a
-½¤¾þ»Ò¤ÈƱ¤¸ÌÜŪ¤Ç
+修飾子と同じ目的で
 .B m
-½¤¾þ»Ò¤âÄ󶡤·¤Æ¤¤¤ë¡£
+修飾子も提供している。
 .B m
-½¤¾þ»Ò¤Ï°Ê²¼¤ÎÍøÅÀ¤¬¤¢¤ë¡£
+修飾子は以下の利点がある。
 .IP * 2
 .\"O It may also be applied to
 .\"O .B %c
 .\"O conversion specifiers (e.g.,
 .\"O .BR %3mc ).
 .B %c
-ÊÑ´¹»ØÄê»Ò¤Ë¤âŬÍѤǤ­¤ë (Î㤨¤Ð
-.BR %3mc )¡£
+変換指定子にも適用できる (例えば
+.BR %3mc )
 .IP *
 .\"O It avoids ambiguity with respect to the
 .\"O .B %a
 .\"O floating-point conversion specifier (and is unaffected by
 .\"O .IR "gcc -std=c99"
 .\"O etc.)
-ÉâÆ°¾®¿ôÅÀÊÑ´¹»ØÄê»Ò¤È¤·¤Æ¤Î
+浮動小数点変換指定子としての
 .B %a
-¤È¤Îʶ¤é¤ï¤·¤µ¤¬Èò¤±¤é¤ì¤ë (¤Þ¤¿
+との紛らわしさが避けられる (また
 .I "gcc -std=c99"
-¤Ê¤É¤Î±Æ¶Á¤âÈò¤±¤é¤ì¤ë)¡£
+などの影響も避けられる)。
 .IP *
 .\"O It is specified in the upcoming revision of the POSIX.1 standard.
-POSIX.1 É¸½à¤Î¼¡¤Î²þÄûÈǤǵ¬Äꤵ¤ì¤ë¡£
+POSIX.1 標準の次の改訂版で規定される。
 .\"O .SH BUGS
-.SH ¥Ð¥°
+.SH ã\83\90ã\82°
 .\"O All functions are fully C89 conformant, but provide the
 .\"O additional specifiers
 .\"O .B q
@@ -1196,27 +1196,27 @@ POSIX.1 ɸ
 .\"O specifiers.
 .\"O The latter may be considered to be a bug, as it changes the
 .\"O behavior of specifiers defined in C89.
-Á´¤Æ¤Î´Ø¿ô¤Ï¡¢´°Á´¤Ë C89 ¤Ë½àµò¤·¤Æ¤¤¤ë¡£¤·¤«¤·
-ÄɲäÇ
+全ての関数は、完全に C89 に準拠している。しかし
+追加で
 .B q
-¤È
+と
 .B a
-»ØÄê»Ò¤¬Ä󶡤µ¤ì¤Æ¤ª¤ê¡¢Æ±ÍͤË
+指定子が提供されており、同様に
 .B L
-¤È
+と
 .B l
-»ØÄê»Ò¤ÎÉÕ²ÃŪ¤Ê¿¶¤ëÉñ¤¤¤â¤¢¤ë¡£¸å¼Ô¤Ï¡¢
-C89 ¤ÇÄêµÁ¤µ¤ì¤¿»ØÄê»Ò¤Î¿¶¤ëÉñ¤¤¤òÊѹ¹¤¹¤ë¤â¤Î¤Ê¤Î¤Ç¡¢
-¥Ð¥°¤È¤ß¤Ê¤µ¤ì¤ë¤«¤â¤·¤ì¤Ê¤¤¡£
+指定子の付加的な振る舞いもある。後者は、
+C89 で定義された指定子の振る舞いを変更するものなので、
+バグとみなされるかもしれない。
 .PP
 .\"O Some combinations of the type modifiers and conversion
 .\"O specifiers defined by ANSI C do not make sense
 .\"O (e.g.
 .\"O .BR "%Ld" ).
-ANSI C ¤ÇÄêµÁ¤µ¤ì¤¿·¿½¤¾þ»Ò¤ÈÊÑ´¹»ØÄê»Ò¤ÎÁȤ߹ç¤ï¤»¤ÎÃæ¤Ë¤Ï
-°ÕÌ£¤ò¤Ê¤µ¤Ê¤¤¤â¤Î¤¬¤¢¤ë
-(Î㤨¤Ð¡¢
-.BR "%Ld" )¡£
+ANSI C で定義された型修飾子と変換指定子の組み合わせの中には
+意味をなさないものがある
+(例えば、
+.BR "%Ld" )
 .\"O While they may have a well-defined behavior on Linux, this need not
 .\"O to be so on other architectures.
 .\"O Therefore it usually is better to use
@@ -1228,20 +1228,20 @@ ANSI C 
 .\"O \fBd\fP, \fBi\fP, \fBo\fP, \fBu\fP, \fBx\fP, and \fBX\fP
 .\"O conversions or
 .\"O .BR ll .
-¤³¤ì¤é¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¡¢
-Linux ¾å¤Ç¤Ï¤Ï¤Ã¤­¤ê¤ÈÄêµÁ¤µ¤ì¤¿¿¶¤ëÉñ¤¤¤ò¤¹¤ë¤«¤â¤·¤ì¤Ê¤¤¤¬¡¢
-¾¤Î¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Ç¤âƱÍͤˤʤäƤ¤¤ë¤È¤Ï¸Â¤é¤Ê¤¤¡£
-¤½¤ì¤æ¤¨¤Ë¡¢¤Û¤È¤ó¤É¤Î¾ì¹ç¡¢
-ANSI C ¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤Ê¤¤½¤¾þ»Ò¤ò»ÈÍѤ·¤¿Êý¤¬Îɤ¤¡£
-¤¹¤Ê¤ï¤Á¡¢
+これらが指定された場合、
+Linux 上でははっきりと定義された振る舞いをするかもしれないが、
+他のアーキテクチャでも同様になっているとは限らない。
+それゆえに、ほとんどの場合、
+ANSI C で定義されていない修飾子を使用した方が良い。
+すなわち、
 \fBd\fP, \fBi\fP, \fBo\fP, \fBu\fP, \fBx\fP, \fBX\fP
-ÊÑ´¹¤ä
+変換や
 .B ll
-¤ÈÁȤ߹ç¤ï¤»¤ë¾ì¹ç¤Ë¤Ï¡¢
+と組み合わせる場合には、
 .B L
-¤ÎÂå¤ï¤ê¤Ë
+の代わりに
 .B q
-¤ò»ÈÍѤ·¤¿Êý¤¬Îɤ¤¡£
+を使用した方が良い。
 .PP
 .\"O The usage of
 .\"O .B q
@@ -1249,14 +1249,14 @@ ANSI C 
 .\"O as it may be used in float conversions equivalently to
 .\"O .BR L .
 .B q
-¤Î»ÈÍÑÊýË¡¤Ï 4.4BSD ¤ÈƱ¤¸¤Ç¤Ï¤Ê¤¤¡£
-4.4BSD ¤Ç¤Ï
+の使用方法は 4.4BSD と同じではない。
+4.4BSD では
 .B q
-¤Ï
+は
 .B L
-¤ÈƱÅù¤ËÉâÆ°¾®¿ô¤ÎÊÑ´¹¤Ë»ÈÍѤµ¤ì¤ë¡£
+と同等に浮動小数の変換に使用される。
 .\"O .SH "SEE ALSO"
-.SH ´ØÏ¢¹àÌÜ
+.SH 関連項目
 .BR getc (3),
 .BR printf (3)
 .BR setlocale (3),