Profile

ys2310

Author:ys2310
2008年春にNew York Cityにあるふる〜い大学を卒業。


Categories


new postings


new comments


new trackbacks


monthly archeive


FC2ブログ 転職
DATE: CATEGORY:スポンサー広告
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
| BLOG TOP |
DATE: CATEGORY:C/C++ locale.h
ロケール制御関数
setlocale
ヘッダ #include
形 式 char *setlocale(int category, const char *locale);
機 能 setlocale関数は、categoryおよびlocale実引数による指定に従って、プログラムのロケールのうちの一部を選択する。setlocale関数は、プログラムのその時のロケール全体または一部を変更したり、問い合わせたりするために使用しても構わない。categoryの値がLC_ALLの場合、プログラムのロケール全体を指定する。categoryのその他の値は、プログラムのロケールの一部だけを指定する。

* LC_COLLATEは、strcoll関数およびstrxfrm関数の動作に影響を与える。
* LC_CTYPEは、文字操作関数の動作および多バイト関数の動作に影響を与える。
* LC_MONETARYは、localeconv関数が返す金額の書式化に関する情報に影響を与える。
* LC_NUMERICは、書式付き入出力関数および文字列変換関数のための小数点文字、並びにlocaleconv関数が返す金額以外の書式化に関する情報に影響を与える。
* LC_TIMEは、strftime関数の動作に影響を与える。

locateの値"C"は、C翻訳に必要な最小の環境を指定する。localeの値が""の場合、処理系定義の固有の環境を指定する。その他の処理系定義の文字列をsetlocale関数の2番目の実引数として渡しても構わない。
プログラム開始時には、
  setlocale(LC_ALL、"C");
と同等のことを実行する。
いかなるライブラリ関数も、本関数を呼び出さないかのように動作する。
返却値 localeがある文字列を示すポインタであって、その選択が適切である場合、その新しいロケールにおいてその指定したcategoryと結びつけられた文字列を指すポインタを返す。選択が適切でない場合は、空ポインタを返しプログラムのロケールを変更しない。
localeとして空ポインタを渡すと、プログラムのそのときのロケールにおいて、そのcategoryと結びつけられた文字列を指すポインタを返す。この場合、プログラムのロケールは変更しない。
本関数が返す文字列を指すポインタは、その文字列の値とそれに結び付けられたカテゴリを実引数としてsetlocaleを呼び出すと、プログラムのロケールのその部分が元に戻ることが可能な文字列へのポインタとする。指された文字列をプログラムによって変更してはならない。しかし、その後の本関数の呼出しによって書き換えられる可能性がある。

[Quote]:http://www.bohyoh.com/CandCPP/C/Library/setlocale.html

| BLOG TOP |
DATE: CATEGORY:C/C++ locale.h
数値書式規約の問合せ関数
localeconv
ヘッダ #include "ocale.h"
形 式 struct lconv *localeconv(void);
機 能 型struct lconvをもつオブジェクトの構成要素に対し、そのときのロケールの規約に従った数量(金額、その他)の書式化にとって適切な値を設定する。この構造体のメンバ型char *をもつものは、文字列を示すポインタであって、decimal_pointを除くいずれのメンバもそのときのロケールにおいて値が与えられてないか、または値の長さが0であることを示すために""を指すことができる。型charをもつメンバは、負でない数であって、いずれもそのときのロケールにおいて値が与えられていないことを示すために、CHAR_MAXとすることができる。メンバとして含まれるものを以下に示す。

char *decimal_point
金額以外の数量の書式に使用する小数点文字。
char *thousands_sep
書式化された金額以外の数量において、小数点文字の前の数字のグループを区切るための文字。
char *grouping
文字列であって、その要素は書式化された金額以外の数量において数字の各グループのけた数。
char *int_curr_symbol
そのときのロケールで適用される国際通貨記号。最初の3文字は、ISO 4217:1987の規定に従った英字国際通貨記号。4番目の(ナル文字の直前の)文字は、国際通貨記号と金額数量を区切るために使用する文字。
char *currency_symbol
そのときのロケールで適用されるその地域の通貨記号。
char *mon_decimal_point
金額数量を書式化するために使用する小数点文字。
char *mon_decimal_point
金額数量を書式化するために使用する小数点文字。
char *mon_thousands_sep
書式化された金額数量において、小数点文字の前の数字のグループを区切るための文字。
char *mon_grouping
文字列であって、その要素は書式化された金額数量において数字の各グループのけた数。
char *positive_sign
書式化された金額数量が負でない値をもつことを示すための文字列。
char *negative_sign
書式化された金額数量が負の値をもつことを示すための文字列。
char int_frac_digits
国際様式で書式化された金額数量において表示される小数部の(小数点の後ろの)けた数。
char frac_digits 書式化された金額数量において表示される小数部の(小数点のうしろの)けた数。
char p_cs_precedes
書式化された負でない金額数量において、currency_symbolが値に先行する場合1、後続する場合0。
char p_sep_by_space
書式化された負でない金額数量において、currency_symbolが値と一つの空白によって区切られる場合1、区切られない場合0。
char n_cs_precedes
書式化された負の金額数量において、currency_symbolが値に先行する場合1、後続する場合0。
char n_sep_by_space
書式化された負の金額数量において、currency_symbolが値と一つの空白によって区切られる場合1、区切られない場合0。
char p_sign_posn
書式化された負でない金額数量において、positive_signの位置を示す値。
char n_sign_posn
書式化された負の金額数量において、negative_signの位置を示す値。

groupingおよびmon_groupingの要素の解釈は、次による。
CHAR_MAX それ以外のグループ分けを行わない。
0 前の要素を残りの数字に対して繰り返し使用する。
その他 整数値が、その対応するグループを構成する数字の個数を表す。次の要素を調べて、そのグループの前に来る次のグループの大ききを決定する。
p_sign_posnおよびn_sign_posnの値の解釈は、次による。
0 数量およびcurrency_symbolを括弧で囲む。
1 符号文字列が数量およびcurrency_symbolに先行します。
2 符号文字列が数量およびcurrency_symbolに続く。
3 符号文字列がcurrency_symbolの恵前に先行します。
4 符号文字列がcurrency_symbolの直後に続く。
いかなるライブラリ関数も、本関数を呼び出さないかのように動作する。
返却値 値が設定されたオブジェクトを指すポインタを返す。返却値によって指定された構造体をプログラムで変更してはいけない。ただし、その後の本関数の呼出しによって、構造体の内容は書き換えられる可能性がある。さらに、カテゴリとしてLC_ALL、LC_MONETARYまたはLC_NUMERICを指定した setlocale関数の呼出しによって、構造体の内容は書き換えられる可能性がある。

[Quote]:http://www.bohyoh.com/CandCPP/C/Library/localeconv.html

| BLOG TOP |

copyright © Manhattan life all rights reserved.Powered by FC2ブログ