C言語の標準関数を目的別に調べることができる辞典

ホーム > C 標準関数逆引き辞典 > 文字列 > マルチバイト文字列をワイド文字列に変換する

C 標準関数逆引き辞典

:: reverse dictionary ::

文字列

※ソースファイルについて


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

マルチバイト文字列をワイド文字列に変換するには、mbstowcs 関数を使います。

≪宣言≫

#include <locale.h>
#include <stdio.h>
#include <stdlib.h>
char mbs[] = "Cプログラム";
wchar_t wcs[32];
int len;

setlocale(LC_ALL, "ja");  /* ロケールを日本語に設定 */

len = mbstowcs(wcs, mbs, 32);
if (len == -1)
{
  printf("変換に失敗しました。 [%s]\n", mbs);
  return EXIT_FAILURE;
}

ソースファイル

wcs"Cプログラム" になります。

▼ 関数

size_t mbstowcs(wchar_t *wcs, const char *mbs, size_t sz)

マルチバイト文字列 mbssz 文字分をワイド文字列に変換します。
変換したワイド文字列は、wcs に格納されます。

変換に成功した場合は変換した文字数、失敗した場合は -1 を返します。

wcsNULL を指定した場合は、変換後の文字数を返します。

char mbs[] = "Cプログラム";
int len;

setlocale(LC_ALL, "ja");  /* ロケールを日本語に設定 */

len = mbstowcs(NULL, mbs, 0);

ソースファイル

len6 になります。

なお、「戻り値 = sz」になる場合、ワイド文字列の終わりに NULL文字は付きません。 NULL文字を付けたい場合は、sz に変換後の文字数を超える値を指定します。

len = mbstowcs(NULL, mbs, 0);
len = mbstowcs(wcs, mbs, len + 1);
●引数

wcs … ワイド文字列を格納する文字列バッファ
mbs … マルチバイト文字列
sz … 変換する文字数

●戻り値

・変換に成功した場合 … 変換した文字数
・変換に失敗した場合 … -1
wcsNULL を指定した場合 … 変換後の文字数

注目キーワード ベスト5

  1. セキュリティ
  2. ホスティング
  3. レンタルサーバ
  4. ファイル復旧
  5. ハードディスク修復

文字列 - string -


ホーム > C 標準関数逆引き辞典 > 文字列 > マルチバイト文字列をワイド文字列に変換する

Copyright (C) 2005-2007 Noto Watabe. All rights reserved.
e-mail:wmh@always-pg.com