メイン コンテンツへスキップ
サポート
Microsoft アカウントでサインイン
サインインまたはアカウントを作成してください。
こんにちは、
別のアカウントを選択してください。
複数のアカウントがあります
サインインに使用するアカウントを選択してください。

概要

Windows 95 や Windows 98 で WideCharToMultiByte を使用しても、Unicode の全角数字 (U+FF10 ~ U+FF19) を標準の半角数字 (U+0030 ~ U+0039) に変換することはできません。全角文字を半角文字に変換するには、LCMapString API を LCMAP_HALFWIDTH フラグと共に使用する必要があります。

詳細

Windows 95 や Windows 98 では W バージョンの API が動作しないため、全角文字を変換するには、Unicode 文字列を対応する DBCS 文字列に変換してから LCMapString を呼び出す必要があります。すべての東アジア言語版 (簡体字中国語、繁体字中国語、日本語、および韓国語) の Windows 95 および Windows 98 で動作するサンプルを次に示します。

#include <stdio.h>
#include <tchar.h>
#include <windows.h>

void main(void)
{
WCHAR T[2] = {65301, 0};
TCHAR dbcs[3], conv[3];
WideCharToMultiByte(CP_ACP, 0, T, -1, dbcs, sizeof(dbcs), NULL, NULL);
int nRes = LCMapString(LOCALE_USER_DEFAULT, LCMAP_HALFWIDTH,
dbcs,sizeof(dbcs),conv,sizeof(conv));
printf("%s\n",conv);
}

Windows 95 や Windows 98 で変換を行うには、4 つの東アジア言語のコード ページ (日本語は 932、簡体字中国語は 936、韓国語は 949、繁体字中国語は 950) の 1 つをシステムにインストールし、上記の各 API 呼び出しでコード ページとロケール ID のパラメータを明示的に設定する必要があります。

関連情報

コード ページのインストールの詳細については、次の資料を参照してください。

164948 HOWTO: Installing a Code Page

ヘルプを表示

その他のオプションが必要ですか?

サブスクリプションの特典の参照、トレーニング コースの閲覧、デバイスのセキュリティ保護方法などについて説明します。

コミュニティは、質問をしたり質問の答えを得たり、フィードバックを提供したり、豊富な知識を持つ専門家の意見を聞いたりするのに役立ちます。

この情報は役に立ちましたか?

言語の品質にどの程度満足していますか?
どのような要因がお客様の操作性に影響しましたか?
[送信] を押すと、Microsoft の製品とサービスの改善にフィードバックが使用されます。 IT 管理者はこのデータを収集できます。 プライバシーに関する声明。

フィードバックをいただき、ありがとうございます。

×