C ユーザーズガイド

変換関数

ANSI C では、複数バイト文字とワイド文字を管理するために、5 つのライブラリ関数を規定しています。

表 E-3 複数バイト文字の変換関数

mblen()  

次の複数バイト文字の長さ 

mbtowc()  

複数バイト文字からワイド文字に変換する 

wctomb()  

ワイド文字から複数バイト文字に変換する 

mbstowcs()  

複数バイト文字の文字列からワイド文字の文字列に変換する 

wcstombs()  

ワイド文字の文字列から複数バイト文字の文字列に変換する 

これらの関数のすべての動作は、ロケールによって異なります。setlocale() 関数」を参照してください。

アジア市場向けにコンパイルシステムを提供するベンダーが、より多くの文字列用関数を提供し、ワイド文字の文字列の処理が簡単になることが期待されます。しかし、ほとんどのアプリケーションプログラムでは、複数バイト文字とワイド文字間の変換は必要ありません。たとえば、複数バイト文字で読み取りと書き込みを行うプログラム (diff など) は、バイト単位での正確な一致を検査することだけが必要です。正規表現によるパターン一致を使用するより複雑なプログラム (grep など) は、複数バイト文字を理解する必要があります。しかし、複数バイト文字を理解する必要があるのは、正規表現を管理する関数だけです。プログラム grep 自身には、他の特別な複数バイト文字処理は必要ありません。