.\" Copyright (c) Bruno Haible .\" .\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. .\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 source code and manual .\" Dinkumware C library reference http://www.dinkumware.com/ .\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html .\" ISO/IEC 9899:1999 .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .\" .\" Japanese Version Copyright (c) 1999 HANATAKA Shinya .\" all rights reserved. .\" Translated Tue Jan 11 00:56:02 JST 2000 .\" by HANATAKA Shinya .\" .TH MBTOWC 3 2019\-03\-06 GNU "Linux Programmer's Manual" .SH 名前 mbtowc \- マルチバイト列をワイド文字に変換する .SH 書式 .nf \fB#include \fP .PP \fBint mbtowc(wchar_t *\fP\fIpwc\fP\fB, const char *\fP\fIs\fP\fB, size_t \fP\fIn\fP\fB);\fP .fi .SH 説明 この関数が用いられる場合、通常 \fIs\fP が NULL でなく \fIpwc\fP も NULL でない。この場合は \fBmbtowc\fP() 関数は \fIs\fP から始まる 最大 \fIn\fP バイトのマルチバイト文字列を検査して、次の完全なマルチバイト 文字を取り出し、それをワイド文字に変換して \fI*pwc\fP に格納する。 同時に mbtowc 関数のみが使用する内部状態を更新する。\fIs\fP がヌルバイト (\(aq\e0\(aq) 以外を指している場合は、\fIs\fP から消費するバイト数を返す。 \fIs\fP がヌルバイトを指している場合には 0 を返す。 .PP \fIs\fP から始まる \fIn\fP バイトが完全なマルチバイト文字を含んで いない場合や不正なマルチバイト列を含んでいる場合には \fBmbtowc\fP() は \-1 を返す。マルチバイト文字列に冗長なシフトシーケンスが 含まれていると \fIn\fP >= \fIMB_CUR_MAX\fP の場合もこのようなことが 起こりえる。 .PP \fIs\fP が NULL でなく \fIpwc\fP が NULL の場合は \fBmbtowc\fP() 関数は 上記と同様に動作するが、変換したワイド文字はメモリーには書き込まれない。 .PP .\" The Dinkumware doc and the Single UNIX specification say this, but .\" glibc doesn't implement this. 三番目の場合として \fIs\fP が NULL の場合は \fIpwc\fP と \fIn\fP は 無視される。 \fBmbtowc\fP() 関数のみが使用するシフト状態は初期状態に 戻される。そして文字符号がシフト状態に依存するならばゼロ以外を、文字符号が 状態によらないならばゼロを返す。 .SH 返り値 \fIs\fP が NULL でなければ \fBmbtowc\fP() 関数は \fIs\fP から消費した バイト数を、\fIs\fP がヌル文字を指している場合はゼロを、 変換に失敗した場合は \-1 を返す。 .PP \fIs\fP が NULL ならば \fBmbtowc\fP() 関数は文字符号がシフト状態に依存 していればゼロ以外を、状態によらなければゼロを返す。 .SH 属性 この節で使用されている用語の説明については、 \fBattributes\fP(7) を参照。 .TS allbox; lb lb lb l l l. インターフェース 属性 値 T{ \fBmbtowc\fP() T} Thread safety MT\-Unsafe race .TE .SH 準拠 POSIX.1\-2001, POSIX.1\-2008, C99. .SH 注意 \fBmbtowc\fP() の動作は現在のロケールの \fBLC_CTYPE\fP カテゴリーに依存している。 .PP この関数はマルチスレッドでは安全ではない。 \fBmbrtowc\fP(3) 関数は 同じ機能のより良いインターフェースを提供する。 .SH 関連項目 \fBMB_CUR_MAX\fP(3), \fBmblen\fP(3), \fBmbrtowc\fP(3), \fBmbstowcs\fP(3), \fBwcstombs\fP(3), \fBwctomb\fP(3) .SH この文書について この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は \%https://www.kernel.org/doc/man\-pages/ に書かれている。