C-standard-library-c-function-wcstombs

提供:Dev Guides
移動先:案内検索

Cライブラリー関数-wcstombs()

説明

Cライブラリ関数 size_t wcstombs(char str、const wchar_t * pwcs、size_t n)は、ワイド文字列 *pwcsstr で始まるマルチバイト文字列に変換します。 最大で n バイトが str に書き込まれます。

宣言

以下は、wcstombs()関数の宣言です。

size_t wcstombs(char *str, const wchar_t *pwcs, size_t n)

パラメーター

  • str -これは、少なくともnバイト長のchar要素の配列へのポインタです。
  • pwcs -これは変換されるワイド文字列です。
  • n -これはstrに書き込まれる最大バイト数です。

戻り値

この関数は、末尾のヌル文字を除いて、変換されてstrに書き込まれたバイト数(文字ではない)を返します。 無効なマルチバイト文字が検出された場合、-1値が返されます。

次の例は、wcstombs()関数の使用法を示しています。

#include <stdio.h>
#include <stdlib.h>

#define BUFFER_SIZE 50

int main () {
   size_t ret;
   char *MB = (char *)malloc( BUFFER_SIZE );
   wchar_t *WC = L"http://www.finddevguides.com";

  /*converting wide-character string*/
   ret = wcstombs(MB, WC, BUFFER_SIZE);

   printf("Characters converted = %u\n", ret);
   printf("Multibyte character = %s\n\n", MB);

   return(0);
}

次の結果を生成する上記のプログラムをコンパイルして実行しましょう-

Characters converted = 29
Multibyte character = http://www.finddevguides.com