Light C | ← → 目次 索引 |
int mblen( const char* mbs, size_t mlen );
mbs の先頭文字のバイト サイズを取得します。 この呼び出しは、mbtowc( NULL, mbs, mlen ) と等価です。
参照 _iskanji
int mbtowc( wchar_t* wc, const char* mb, size_t mlen );
多バイト文字 mb をワイド文字に変換し、*wc に書き込みます。ただし、wc が NULL の場合、書き込みは行われません。mlen には、変換する最大バイト数を指定します。
戻り値は、多バイト文字のバイト数です。ただし、mbs が NULL の場合、mlen が 0 の場合、および mbs[0] が 0 の場合は、0 が返されます。
Light C では、_iskanji を使って文字のサイズが判定されます。
int wctomb( char* mb, wchar_t wc );
ワイド文字 wc を多バイト文字に変換し、mb に書き込みます。mb には、最大で MB_CUR_MAX バイトのデータが書き込まれます。MB_CUR_MAX は stdlib.h で定義されており、Light C では 2 です。
戻り値は、mb に書き込まれたバイト数です。ただし、wc が 0 の場合は、mb[0] に 0 が書き込まれますが、0 が返されます。
size_t mbstowcs( wchar_t* wcs, const char* mbs, size_t wlen );
多バイト文字列 mbs をワイド文字列に変換し、wcs に書き込みます。wlen には、wcs で受け取る最大文字数を指定します。
wlen まで書き込むか、mbs[] 上の 0 に到達すると、変換は終了します。後者の場合は、wcs[] の末尾に 0 が書き込まれます。
戻り値は、wcs に書き込まれた文字数です。末尾の 0 は含まれません。
size_t wcstombs( char* mbs, const wchar_t* wcs, size_t mlen );
ワイド文字列 wcs を多バイト文字列に変換し、mbs に書き込みます。mlen には、mbs で受け取る最大バイト数を指定します。
書き込み長が mlen を超えそうになるか、wcs[] 上の 0 に到達すると、変換は終了します。後者の場合は、mbs[] の末尾に 0 が書き込まれます。
戻り値は、mbs に書き込まれたバイト数です。末尾の 0 は含まれません。
size_t wcslen( const wchar_t* src );
wchar_t* wcscpy( wchar_t* dst, const wchar_t* src );
wchar_t* wcsncpy( wchar_t* dst, const wchar_t* src, size_t len );
wchar_t* wcscat( wchar_t* dst, const wchar_t* src );
wchar_t* wcsncat( wchar_t* dst, const wchar_t* src, size_t len );
int wcscmp( const wchar_t* dst, const wchar_t* src );
int wcsncmp( const wchar_t* dst, const wchar_t* src, size_t len );
それぞれ、"wcs" を "str" に読み替えた名前を持つ関数のワイド文字版です。
参照 strlen、strcpy、strncpy、strcat、strncat、strcmp、strncmp
Copyright © Tama Software Ltd, 1999-2012. | ← → 目次 索引 |