wcstombs

提供: RAD Studio
移動先: 案内検索

stdlib.h:インデックス への移動


ヘッダーファイル

stdlib.h

カテゴリ

変換ルーチン,メモリおよび文字列操作ルーチン

プロトタイプ

size_t wcstombs(char *s, const wchar_t *pwcs, size_t n);

説明

wchar_t 配列をマルチバイト文字列に変換します。

wcstombs は,pwcs に含まれる wchar_t 型の要素をマルチバイト文字列 s に変換します。ヌル文字または無効なマルチバイト文字が検出されると,処理は終了します。

変更される最大バイト数は n バイトです。ヌル文字に到達する前に n バイトが処理された場合,配列 s はヌルで終わりません。

wcstombs の動作は,現在のロケールの LC_CTYPE カテゴリの設定に依存します。

戻り値

無効なマルチバイト文字が検出された場合,wcstombs は,(size_t) -1 を返します。そうでない場合,この関数は,変更されたバイト数を返します。終了コード(ある場合)は含まれません。



 #include <stdio.h>
 #include <stdlib.h>
 void main(void)
 {
   int x;
   char *pbuf = (char*)malloc( MB_CUR_MAX);
   wchar_t *pwcsEOL = L'\0';
   char *pwchi= L"Hi there!";
 
   printf (" Convert entire wchar string into a multibyte string:\n");
   x = wcstombs( pbuf, pwchi,MB_CUR_MAX);
   printf ("Character converted: %u\n", x);
   printf ("Multibyte string character: %1s\n\n",pbuf);
   printf (" Convert when target is NULL\n");
   x = wcstombs( pbuf, pwcsEOL, MB_CUR_MAX);
   printf ("Character converted: %u\n",x);
   printf ("Multibyte string: %1s\n\n",pbuf);
 
 }



移植性



POSIX Win32 ANSI C ANSI C++

+

+

+

+