C-standard-library-c-function-mbtowc

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

Cライブラリ関数-mbtowc()

説明

Cライブラリ関数 int mbtowc(whcar_t pwc、const char * str、size_t n)*は、マルチバイトシーケンスをワイド文字に変換します。

宣言

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

int mbtowc(whcar_t *pwc, const char *str, size_t n)

パラメーター

  • pwc -これは、タイプwchar_tのオブジェクトへのポインタです。
  • str -これはマルチバイト文字の最初のバイトへのポインタです。
  • n -これは、文字の長さをチェックする最大バイト数です。

戻り値

  • strがNULLでない場合、mbtowc()関数はstrから始まる消費バイト数を返します。 s がNULLバイトを指す場合は0、失敗した場合は-1を返します。 *strがNULLの場合、mbtowc()関数は、エンコードに非自明なシフト状態がある場合はゼロ以外を返し、エンコードがステートレスの場合はゼロを返します。

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

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

int main () {
   char* str = "This is finddevguides.com";
   wchar_t mb[100];
   int len;

   len = mblen(NULL, MB_CUR_MAX);

   mbtowc(mb, str, len*strlen(str) );

   wprintf(L"%ls \n", mb );

   return(0);
}

上記のプログラムをコンパイルして実行すると、次の結果が生成されます。これは、マルチバイトの一種のバイナリ出力になります。

???