X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=release%2Fman3%2Fstrfmon.3;h=b9107a59c9d2ff5a0080c159b3f4448e95f1227f;hb=4fa3e54b837e5814a4598ec901d77446bf5cb9b3;hp=8a829c1b3153763ec7518f7d437afc31eceec363;hpb=ce024239a1d8e74a7a44f7c24cee4375cb13b3ef;p=linuxjm%2FLDP_man-pages.git diff --git a/release/man3/strfmon.3 b/release/man3/strfmon.3 index 8a829c1b..b9107a59 100644 --- a/release/man3/strfmon.3 +++ b/release/man3/strfmon.3 @@ -20,130 +20,74 @@ .\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, .\" USA. .\" -.\" Japanese Version Copyright (c) 2001 NAKANO Takeo all rights reserved. -.\" Translated Thu Fri 08 2001 by NAKANO Takeo +.\"******************************************************************* .\" -.\"WORD: numeric fill character 数値埋め文字 -.\"WORD: grouping character グループ化文字 -.\"WORD: left precision 左精度 -.\"WORD: right precision 左精度 -.\"WORD: radix (character) 基数点(文字) -.\"WORD: conversion character 変換文字 -.\"WORD: international currency format 国際通貨フォーマット -.\"WORD: national currency format 国内通貨フォーマット +.\" This file was generated with po4a. Translate the source file. .\" -.TH STRFMON 3 2000-12-05 "Linux" "Linux Programmer's Manual" +.\"******************************************************************* +.TH STRFMON 3 2000\-12\-05 Linux "Linux Programmer's Manual" .SH 名前 strfmon \- 金額の値を文字列に変換する .SH 書式 -.B #include +\fB#include \fP .sp -.BI "ssize_t strfmon(char *" s ", size_t " max ", const char *" format , -.B "...);" +\fBssize_t strfmon(char *\fP\fIs\fP\fB, size_t \fP\fImax\fP\fB, const char +*\fP\fIformat\fP\fB,\fP \fB...);\fP .SH 説明 -.BR strfmon () -関数は、指定された数量を -.I format -で指定されたフォーマットにしたがって整形し、 -結果をサイズ -.I max -の文字配列 -.I s -に書きこむ。 +\fBstrfmon\fP() 関数は、指定された数量を \fIformat\fP で指定されたフォーマットにしたがって整形し、 結果をサイズ \fImax\fP +の文字配列 \fIs\fP に書きこむ。 .PP -.I format -中の通常の文字は、変換されずにそのまま -.I s -にコピーされる。変換指定は \(aq%\(aq 文字で始まる。 +\fIformat\fP 中の通常の文字は、変換されずにそのまま \fIs\fP にコピーされる。変換指定は \(aq%\(aq 文字で始まる。 この直後には、以下のフラグを 0 個以上続けることができる。 -.TP -.BI = f -1 バイト文字 -.I f -を数値埋め文字 (numeric fill character) にする -(左精度と共に用いる。以下を参照)。 +.TP +\fB=\fP\fIf\fP +1 バイト文字 \fIf\fP を数値埋め文字 (numeric fill character) にする (左精度と共に用いる。以下を参照)。 指定されないと、スペース文字が用いられる。 -.TP -.B ^ +.TP +\fB^\fP 現在のロケールで定義されているであろうグループ化文字 (grouping character) を一切使わない。デフォルトではグループ化は有効になっている。 -.TP -.BR ( " または " + -( フラグは、負の数値を括弧で括ることを意味する。 -+ フラグは符号をデフォルトのように取り扱うことを意味する -(すなわち数値の前にロケールの符号マークが置かれる。 -例えば正ならなにもなく、負なら \(aq\-\(aq を置く、など)。 -.TP -.B ! +.TP +\fB(\fP または \fB+\fP +( フラグは、負の数値を括弧で括ることを意味する。 + フラグは符号をデフォルトのように取り扱うことを意味する +(すなわち数値の前にロケールの符号マークが置かれる。 例えば正ならなにもなく、負なら \(aq\-\(aq を置く、など)。 +.TP +\fB!\fP 通貨シンボルを省略する。 -.TP -.B \- +.TP +\fB\-\fP すべてのフィールドを左詰めにする。デフォルトは右詰め。 .LP -次の位置には、フィールドの幅を指定できる。 -10 進の数値文字列で、フィールドの最小幅をバイト単位で指定する。 -デフォルトは 0。 -結果がこの幅よりも狭くなった場合には、 -不足分がスペースで埋められる -(左詰めフラグが指定されていなければ左側が埋められる)。 +次の位置には、フィールドの幅を指定できる。 10 進の数値文字列で、フィールドの最小幅をバイト単位で指定する。 デフォルトは 0。 +結果がこの幅よりも狭くなった場合には、 不足分がスペースで埋められる (左詰めフラグが指定されていなければ左側が埋められる)。 .LP -次の位置には、"#" に 10 進数値文字列を続けた形式で、 -左精度 (left precision) を指定できる。 -通貨の基数点 (radix) より左側の数値の桁数がこの指定より小さい場合は、 -数値埋め文字で左側が埋められる。 -このフィールド幅の指定では、グループ化文字はカウントされない。 +次の位置には、"#" に 10 進数値文字列を続けた形式で、 左精度 (left precision) を指定できる。 通貨の基数点 (radix) +より左側の数値の桁数がこの指定より小さい場合は、 数値埋め文字で左側が埋められる。 このフィールド幅の指定では、グループ化文字はカウントされない。 .LP -次の位置には、"." に 10 進数値文字列を続けた形式で、 -右精度 (right precision) を指定できる。 -整形される数値は、整形前にこの桁数に丸められる。 -デフォルトではカレントロケールの -.I frac_digits -と -.I int_frac_digits -の指定を用いる。 -右精度が 0 の場合は、基数点文字 (radix character) は印字されない -(ここでの基数点文字は -.B LC_MONETARY -で定義されており、 -.B LC_NUMERIC -の指定とは異なっていてもよい)。 +次の位置には、"." に 10 進数値文字列を続けた形式で、 右精度 (right precision) を指定できる。 +整形される数値は、整形前にこの桁数に丸められる。 デフォルトではカレントロケールの \fIfrac_digits\fP と +\fIint_frac_digits\fP の指定を用いる。 右精度が 0 の場合は、基数点文字 (radix character) は印字されない +(ここでの基数点文字は \fBLC_MONETARY\fP で定義されており、 \fBLC_NUMERIC\fP の指定とは異なっていてもよい)。 .LP -最後に、変換指定は変換文字 (conversion character) -で終了しなければならない。 -変換文字には以下の 3 つがある。 -.TP -.B % -(この場合は指定全体が "%%" でなければならない。) -結果の文字列に \(aq%\(aq 文字を書きこむ。 -.TP -.B i -.I double -型の引き数ひとつが、 -ロケールの国際通貨フォーマット (international currency format) -を用いて変換される。 -.TP -.B n -.I double -型の引き数ひとつが、 -ロケールの国内通貨フォーマット (national currency format) +最後に、変換指定は変換文字 (conversion character) で終了しなければならない。 変換文字には以下の 3 つがある。 +.TP +\fB%\fP +(この場合は指定全体が "%%" でなければならない。) 結果の文字列に \(aq%\(aq 文字を書きこむ。 +.TP +\fBi\fP +\fIdouble\fP 型の引き数ひとつが、 ロケールの国際通貨フォーマット (international currency format) を用いて変換される。 +.TP +\fBn\fP +\fIdouble\fP 型の引き数ひとつが、 ロケールの国内通貨フォーマット (national currency format) を用いて変換される。 .SH 返り値 -.BR strfmon () -関数は、結果の文字列が終端の NULL バイトを含めて配列 -.I s -に収まった場合には、 -.I s -に書きこまれた文字数を返す。NULL バイトは文字数に入らない。 -それ以外の場合には、 -.I errno -に -.B E2BIG -を設定して \-1 を返す。 -この場合の配列の内容は未定義である。 +\fBstrfmon\fP() 関数は、結果の文字列が終端の NULL バイトを含めて配列 \fIs\fP に収まった場合には、 \fIs\fP +に書きこまれた文字数を返す。NULL バイトは文字数に入らない。 それ以外の場合には、 \fIerrno\fP に \fBE2BIG\fP を設定して \-1 +を返す。 この場合の配列の内容は未定義である。 .SH 準拠 -POSIX.1-2001 にはない。 -他のいくつかのシステムに存在する。 +POSIX.1\-2001 にはない。 他のいくつかのシステムに存在する。 .SH 例 +次のような関数コール .in +4n .nf @@ -152,33 +96,25 @@ strfmon(buf, sizeof(buf), "[%^=*#6n] [%=*#6i]", .fi .in -のような関数コールの出力は、オランダのロケールでは以下のような出力になる。 +は、オランダのロケールでは以下のような出力になる。 .in +4n -[ fl **1234,57] [ NLG **1 234,57] +[ fl **1234,57] [ NLG **1 234,57] .in -(fl は "florijnen" の意。NLG は Netherlands Guilder。) -グループ化文字を用いると非常に醜くなる。 -同時に間違いなく混乱の原因にもなってしまうだろう。 -これは数値の半分以下の幅であるべきだが、 -数値と同じだけの幅を取ってしまうからである。 -ひどいことに、 "fl" の前後にはスペースが入ってしまい、 -また "NLG" の前には 1 つ、後には 2 つのスペースが置かれている。 -これはロケールファイルのバグであろう。 -イタリア・オーストラリア・スイス・ポルトガルの -各ロケールでの結果は以下のようになる。 +(fl は "florijnen" の意。NLG は Netherlands Guilder。) グループ化文字を用いると非常に醜くなる。 +同時に間違いなく混乱の原因にもなってしまうだろう。 これは数値の半分以下の幅であるべきだが、 数値と同じだけの幅を取ってしまうからである。 +ひどいことに、 "fl" の前後にはスペースが入ってしまい、 また "NLG" の前には 1 つ、後には 2 つのスペースが置かれている。 +これはロケールファイルのバグであろう。 イタリア・オーストラリア・スイス・ポルトガルの 各ロケールでの結果は以下のようになる。 .in +4n -[ L. **1235] [ ITL **1.235] +[ L. **1235] [ ITL **1.235] .br [ $**1234.57] [ AUD **1,234.57] .br -[Fr. **1234,57] [CHF **1.234,57] +[Fr. **1234,57] [CHF **1.234,57] .br [ **1234$57Esc] [ **1.234$57PTE ] .in .SH 関連項目 -.BR setlocale (3), -.BR sprintf (3), -.BR locale (7) +\fBsetlocale\fP(3), \fBsprintf\fP(3), \fBlocale\fP(7)