「C言語/標準ライブラリ/stdlib.h」の版間の差分

削除された内容 追加された内容
503 行
*形式
<pre>
#include <stdlib.h>
 
int mblen(const char *s, size_t n);
</pre>
*引数
:s 多バイト文字
:
:n バイト個数
*返却値
:sが空ポインタである場合、多バイト文字の表現形式が、シフト状態に依存しているとき、0以外の値。それ以外の場合、0。
:
:sが空ポインタでない場合、sがナル文字を指すとき0。次のn個以下のバイト長が正しい多バイト文字を形成するとき、その多バイト文字を構成するバイト数。それらが正しい多バイト文字を形成しないとき-1。
*機能
:mblen関数とは、sが空ポインタでないとき、sが指す多バイト文字を構成するバイト数を決定し、返却する関数である。
:
:mbtowc関数の変換状態が影響を受けないことを除き、
<pre>
mbtowc((wchar_t *)0, s, n)
</pre>
:と等価である。
*例
<pre>
519 ⟶ 527行目:
*形式
<pre>
#include <stdlib.h>
 
int mbtowc(wchar_t * restrict pwc, char * restrict s, size_t n);
</pre>
*引数
:pwc 値を格納するオブジェクト
:
:s 多バイト文字
:n バイト個数
*返却値
:sが空ポインタである場合、多バイト文字の表現形式が、シフト状態に依存しているとき0以外の値、それ以外の場合0。
:
:sが空ポインタでない場合、sがナル文字を返すとき0。次のn個以下のバイト列が正しいバイト文字を形成するときその多バイト文字を構成するバイト数。それらが正しい多バイト文字を形成しないとき-1。
:※返却値はnもマクロMB_CUR_MAXの値も超えることはない。
*機能
:mbtowc関数の動作は以下のとおりである。
:
#sが空ポインタでない場合、sが指すバイトから最大nバイト検査し、次の多バイト文字が完了するまでのバイト数を決定する。
#次の多バイト文字が正しく完了していれば、多バイト文字に対応するワイド文字の値を決定する。
#次に、pwcが空ポインタでない場合、pwcが指すオブジェクトにこの値を格納する関数である。対応するワイド文字がナルワイド文字である場合、この関数の状態は初期変換状態になる。
*例
<pre>
535 ⟶ 551行目:
*形式
<pre>
#include <stdlib.h>
 
int wctomb(char *s, wchar_t wc);
</pre>
*引数
:s 値を格納する配列
:
:wc ワイド文字
*返却値
:sが空ポインタである場合、多バイト文字の表現形式が、シフト状態に依存しているとき0以外の値、それ以外の場合0。
:
:sが空ポインタでない場合、wcの値が正しい多バイト文字に対応してないとき-1。それ以外の時、wcの値に対応する多バイト文字を構成するバイト数。
*機能
:wctomb関数の動作は以下のとおりである。
:
#wcで指定されるワイド文字に対応する多バイト文字を表現するために必要なバイト数を決定する。
#sが空ポインタでない場合、sが指す配列に多バイト文字の表現を格納する。格納される文字数は、MB_CUR_MAXを超えない。
#wcがナルワイド文字である場合、初期シフト状態に戻るために必要なシフトシーケンスがあればそれを格納し、さらになる文字を格納する。この場合、この関数の状態は初期変換状態になる。
*例
<pre>