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

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

C 標準関数逆引き辞典

:: reverse dictionary ::

文字

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


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

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

≪宣言≫

#include <locale.h>
#include <stdlib.h>
wchar_t wc = L'a';
char mb;
int len;

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

len = wctomb(&mb, wc);

ソースファイル

len1mb'a' になります。

▼ 関数

int wctomb(char *mb, wchar_t wc)

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

変換に成功した場合は、変換した文字のバイト数を返します。

変換に失敗した場合は -1 を返します。
(現在のロケールで変換できない場合)

wcNULL文字L'\0' )の場合は 1 を返します。

●引数

mb … 変換したマルチバイト文字を格納する変数へのポインタ
wc … 変換するワイド文字へのポインタ

●戻り値

・変換に成功 … 変換した文字のバイト数
・変換に失敗 … -1
wcNULL文字1

●補足

全角文字の場合は、mb に文字列を指定します。

≪宣言≫

#include <locale.h>
#include <memory.h>
#include <stdlib.h>
wchar_t wc = L'あ';
char mbs[10];
int len;

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

memset(mbs, 0, sizeof(mbs));  /* NULL文字で初期化 */
len = wctomb(mbs, wc);

ソースファイル

len2mbs"あ" になります。

注目キーワード ベスト5

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

文字 - character -


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

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