Solaris 7 は 2 つの種類の API を提供します。
複数バイト (ファイルコード)
ワイド文字
アプリケーションはワイド文字コードで処理を行います。
プログラムはファイルから入力を受け取ると、mbtwoc および mbtowcs API を使用して、ファイルの複数バイトデータをワイド文字に変換します。ファイル出力データをワイド文字形式から複数バイト形式に変換するには、wcstombs および wetomb API を使用します。
表 6-3 に Solaris 7 に含まれる国際化 API を示します。
表 6-3 libc の国際化
API タイプ |
ライブラリルーチン |
説明 |
---|---|---|
メッセージ処理関数 |
||
catclose() |
メッセージカタログを閉じる |
|
|
catgets() |
プログラムメッセージを読み取る |
|
catopen() |
メッセージカタログを開く |
|
dgettext() |
指定したドメインのメッセージカタログからメッセージを取得する |
|
dcgettext() |
指定したドメインとカテゴリのメッセージカタログからメッセージを取得する |
|
textdomain() |
現在のドメインを設定および照会する |
|
bindtextdomain() |
メッセージドメインパスをバインドする |
コード変換 |
|
|
|
iconv() |
コードを変換する |
|
iconv_close() |
変換記述子の割り当てを解除する |
|
iconv_open() |
変換記述子を割り当てる |
正規表現 |
|
|
|
regcomp() |
正規表現をコンパイルする |
|
regexec() |
正規表現の照合を実行する |
|
regerror() |
エラーコードとエラーメッセージのマッピングを行う |
|
regfree() |
regcomp() により割り当てられたメモリーを解放する |
ワイド文字クラス |
|
|
|
wctype() |
文字クラスを定義する |
|
wctrans |
文字のマッピングを定義する |
|
towctrans |
ワイド文字のマッピング |
|
setlocale() |
プログラムのロケールを変更および照会を行う |
|
nl_langinfo() |
現在のロケールの言語および文化情報を取得する |
|
localeconv() |
現在のロケールの通貨および数値形式の情報を取得する |
文字分類 |
||
|
isalpha() |
文字はアルファベットか |
|
isupper() |
文字は大文字か |
|
islower() |
文字は小文字か |
|
isdigit() |
文字は数か |
|
isxdigit() |
文字は 16 進数か |
|
isalnum() |
文字は英数字か |
|
isspace() |
文字は空白か |
|
ispunct() |
文字は句読点か |
|
isprint() |
文字は印刷可能か |
|
iscntrl() |
文字は制御文字か |
|
isascii() |
文字は ASCII 文字か |
|
isgraph() |
文字は表示可能な文字か |
|
isphonogram() |
ワイド文字は表音文字か |
|
isideogram() |
ワイド文字は表意文字か |
|
isenglish() |
ワイド文字は補助コードセットの英語のアルファベットか |
|
isnumber() |
ワイド文字は補助コードセットの数か |
|
isspecial() |
ワイド文字は補助コードセットの文字か |
|
iswalpha() |
ワイド文字はアルファベットか |
|
iswupper() |
ワイド文字は大文字か |
|
iswlower() |
ワイド文字は小文字か |
|
iswdigit() |
ワイド文字は数か |
|
iswxdigit() |
ワイド文字は 16 進数か |
|
iswalnum() |
ワイド文字は英数字か |
|
iswspace() |
ワイド文字は空白か |
|
iswpunct() |
ワイド文字は句読点か |
|
iswprint() |
ワイド文字は印刷可能な文字か |
|
iswgraph() |
ワイド文字は表示可能な文字か |
|
iswcntrl() |
ワイド文字は制御文字か |
|
iswascii() |
ワイド文字は ASCII 文字か |
toupper() |
小文字を大文字に変換する |
|
|
tolower() |
大文字を小文字に変換する |
|
towupper() |
ワイド文字の小文字を大文字に変換する |
|
towlower() |
ワイド文字の大文字を小文字に変換する |
文字照合 |
||
|
strcoll() |
文字列を照合する |
|
strxfrm() |
文字列を照合用に変換する |
|
wcscoll() |
ワイド文字の文字列を照合する |
|
wcsxfrm() |
ワイド文字の文字列を照合用に変換する |
通貨の処理 |
||
|
strfmon() |
通貨の値を文字列表現に変換する |
日付と時間の処理 |
||
|
getdate() |
ユーザー形式の日付と時間を変換する |
|
strftime() |
日付と時間を文字列表現に変換する |
|
strptime() |
日付と時間の変換 |
複数バイトの処理 |
||
|
btowc |
シングルバイトからワイド文字に変換する |
|
mbrlen() |
1 つの文字に含まれるバイト数を取得する (再起動可能) |
|
mbsinit() |
変換オブジェクトの状態を決定する |
|
mbtowc() |
1 つの文字を 1 つのワイド文字に変換する (再起動可能) |
|
mbstowcs() |
文字列をワイド文字の文字列に変換する (再起動可能) |
ワイド文字 |
|
|
|
wcsncat() |
ワイド文字の文字列を長さ n に連結する |
|
wsdup() |
ワイド文字の文字列を重複させる |
|
wcscmp() |
ワイド文字の文字列を比較する |
|
wcsncmp() |
ワイド文字の文字列を長さ n 分比較する |
|
wcscpy() |
ワイド文字の文字列をコピーする |
|
wcsncpy() |
ワイド文字の文字列を長さ n 分コピーする |
|
wcschr() |
ワイド文字の文字列内の文字を検索する |
|
wcsrchr() |
ワイド文字の文字列を右から検索する |
|
wcslen() |
ワイド文字の文字列の長さを取得する |
|
wscol() |
ワイド文字の文字列の表示幅を返す |
|
wcsspn() |
ワイド文字の文字列が別のワイド文字の文字列に現れる長さを返す |
|
wcscspn() |
ワイド文字の文字列が別のワイド文字の文字列に現れない長さを返す |
|
wcspbrk() |
別のワイド文字の文字列に含まれている、ワイド文字の文字列の先頭のポインタを返す |
|
wcstok() |
ワイド文字の文字列の中でトークンを移動する |
|
wcswcs() |
ワイド文字の文字列内の文字列を検索する |
|
wcstombs() |
ワイド文字の文字列を複数バイトの文字列に変換する |
|
wctomb() |
ワイド文字を複数バイト文字に変換する |
|
wcwidth() |
ワイド文字のカラム数を調べる |
|
wcswidth() |
ワイド文字の文字列のカラム数を調べる |
|
wctob |
ワイド文字からシングルバイト文字に変換する |
|
wcrtomb |
ワイド文字から文字に変換する (再起動可能) |
|
wcsrtombs |
形式に従ってワイド文字列を解釈する |
ワイド文字の書式化 | ||
|
wsprintf() |
書式に従ってワイド文字の文字列を生成する |
|
wsscanf() |
書式付き入力規約 |
|
fwprintf |
ワイド文字書式付き出力を印刷する |
|
fwscanf |
ワイド文字書式付き入力を変換する |
|
wprintf |
ワイド文字書式付き出力を印刷する |
|
wscanf |
ワイド文字列書式付き入力を変換する |
|
swprintf |
ワイド文字書式付き出力を印刷する |
|
swscanf |
ワイド文字書式付き入力を印刷する |
|
vfwprintf |
stdarg 引数リストをワイド文字書式で出力する |
|
vswprintf |
stdarg 引数リストをワイド文字書式で出力する |
ワイド文字と数 |
||
|
wcstol() |
ワイド文字の文字列をロング整数に変換する |
|
wcstoul() |
ワイド文字の文字列を符号なしロング整数に変換する |
|
wcstod() |
ワイド文字の文字列を倍精度に変換する |
ワイド文字の文字列 |
||
|
wscasecmp() |
大文字と小文字を区別せずにワイド文字の文字列を比較する |
wsncasecmp() |
コード文字列動作を処理する |
|
|
wcsstr |
ワイド文字の部分文字列を検索する |
|
wmemchr |
ワイド文字をメモリ内で検索する |
|
wmemcmp |
メモリ内のワイド文字を比較する |
|
wmemcpy |
メモリ内のワイド文字をコピーする |
|
wmemmove |
領域がオーバーラップする状態でメモリ内のワイド文字をコピーする |
|
wmemset |
メモリ内のワイド文字を設定する |
ワイド文字の標準入出力 |
||
|
fgetwc() |
ストリームから複数バイト文字を取り出し、ワイド文字に変換する |
|
getwchar() |
標準入力から複数バイト文字を取り出し、ワイド文字に変換する |
|
fgetws() |
ストリームから複数バイトの文字列を取り出し、ワイド文字に変換する |
|
getws() |
標準入力から複数バイトの文字列を取り出し、ワイド文字に変換する |
|
fputwc() |
ワイド文字を複数バイト文字に変換し、ストリームに送る |
|
fwide |
ストリームの方向を設定する |
|
putwchar() |
ワイド文字を複数バイト文字に変換し、標準入力に送る |
|
fputws() |
ワイド文字を複数バイトの文字列に変換し、ストリームに送る |
|
putws() |
ワイド文字を複数バイトの文字列に変換し、標準出力に送る |
|
ungetwc() |