WCSTOMBS

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

名前

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

書式

#include <stdlib.h>

size_t wcstombs(char *dest, const wchar_t *src, size_t n);
 

説明

If dest is not NULL, the wcstombs() function converts the wide-character string src to a multibyte string starting at dest. At most n bytes are written to dest. The sequence of characters placed in dest begins in the initial shift state. The conversion can stop for three reasons:
1.
(現在のロケールにおける)マルチバイト列で表現できないワイド文字に 遭遇した場合。この場合には (size_t) -1 が返される。
2.
長さ制限によって強制停止させられた場合。この場合には dest に 書き込まれたバイト数が返される。しかしこの時点でのシフト状態は失われる。
3.
ワイド文字列が終端のヌルワイド文字 (L'\0') を含めて完全に変換された場合。 この場合には変換は初期シフト状態で終了し、 dest に書き込まれたバイト数を返す (終端のヌルバイト ('\0') は含まれない)。

プログラマーは dest に最低でも n バイトの空きがあることを 保証しなければならない。

dest が NULL の場合、n は無視される。上記と同様に変換が行 なわれるが変換結果のバイト列はメモリーには書き込まれない。 また長さの上限が存在しない。

上記の 2. の場合を避けるために、プログラマーは n が wcstombs(NULL,src,0)+1 以上であることを保証しなければならない。  

返り値

wcstombs() 関数は生成したマルチバイト列のバイト数を返す。終端の ヌル文字は含まない。もし変換できないワイド文字に遭遇した場合には (size_t) -1 を返す。  

属性

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

 

準拠

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

注意

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

wcsrtombs(3) 関数は同じ機能のより良いインターフェースを提供する。  

関連項目

mblen(3), mbstowcs(3), mbtowc(3), wcsrtombs(3), wctomb(3)  

この文書について

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

関連キーワード

バイト   ワイド   マルチバイト   size   終端   wcstombs   ロケール   遭遇   シフト   プログラマー   保証   上記   インターフェース   stdlib   wchar   converts   wide   multibyte   starting   most   bytes   written   sequence   characters   placed

Linux マニュアル 一覧

関連するコマンド・関数

wcsnrtombs.3   wcsrtombs.3   mbsnrtowcs.3   mbsrtowcs.3   mbrtowc.3   mbtowc.3
 

Index

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

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