MBTOWC

Section: Linux Programmer's Manual (3)
Updated: 2019-03-06
Index JM Home Page
 

名前

mbtowc - マルチバイト列をワイド文字に変換する  

書式

#include <stdlib.h>

int mbtowc(wchar_t *pwc, const char *s, size_t n);
 

説明

この関数が用いられる場合、通常 s が NULL でなく pwc も NULL でない。この場合は mbtowc() 関数は s から始まる 最大 n バイトのマルチバイト文字列を検査して、次の完全なマルチバイト 文字を取り出し、それをワイド文字に変換して *pwc に格納する。 同時に mbtowc 関数のみが使用する内部状態を更新する。s がヌルバイト ('\0') 以外を指している場合は、s から消費するバイト数を返す。 s がヌルバイトを指している場合には 0 を返す。

s から始まる n バイトが完全なマルチバイト文字を含んで いない場合や不正なマルチバイト列を含んでいる場合には mbtowc() は -1 を返す。マルチバイト文字列に冗長なシフトシーケンスが 含まれていると n >= MB_CUR_MAX の場合もこのようなことが 起こりえる。

s が NULL でなく pwc が NULL の場合は mbtowc() 関数は 上記と同様に動作するが、変換したワイド文字はメモリーには書き込まれない。

三番目の場合として s が NULL の場合は pwc と n は 無視される。 mbtowc() 関数のみが使用するシフト状態は初期状態に 戻される。そして文字符号がシフト状態に依存するならばゼロ以外を、文字符号が 状態によらないならばゼロを返す。  

返り値

s が NULL でなければ mbtowc() 関数は s から消費した バイト数を、s がヌル文字を指している場合はゼロを、 変換に失敗した場合は -1 を返す。

s が NULL ならば mbtowc() 関数は文字符号がシフト状態に依存 していればゼロ以外を、状態によらなければゼロを返す。  

属性

この節で使用されている用語の説明については、 attributes(7) を参照。
インターフェース 属性 値
mbtowc() Thread safety MT-Unsafe race
 

準拠

POSIX.1-2001, POSIX.1-2008, C99.  

注意

mbtowc() の動作は現在のロケールの LC_CTYPE カテゴリーに依存している。

この関数はマルチスレッドでは安全ではない。 mbrtowc(3) 関数は 同じ機能のより良いインターフェースを提供する。  

関連項目

MB_CUR_MAX(3), mblen(3), mbrtowc(3), mbstowcs(3), wcstombs(3), wctomb(3)  

この文書について

この man ページは Linux man-pages プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は https://www.kernel.org/doc/man-pages/ に書かれている。

関連キーワード

マルチバイト   バイト   シフト   mbtowc   ワイド   符号   依存   ヌルバイト   消費   インターフェース   stdlib   wchar   size   通常   最大   検査   格納   同時   内部   不正   シーケンス   上記   メモリー   初期   ヌル

Linux マニュアル 一覧

関連するコマンド・関数

mblen.3   mbrtowc.3   wctomb.3   mbrlen.3   mbsrtowcs.3   wcrtomb.3
 

Index

名前
書式
説明
返り値
属性
準拠
注意
関連項目
この文書について

This document was created by man2html, using the manual pages.
Time: 04:39:12 GMT, October 11, 2026