提示コードですがどうすれば文字をwchar_t型に入れて日本語文字を表示出来るのでしょうか?提示サイト通り引数を指定しましたが画面表示されません、何を間違えているのでしょうか?MUltiByteToWideChar();関数部です。またGetLastError()関数は0でした。
http://www.t-net.ne.jp/~cyfis/win_api/sdk/MultiByteToWideChar.html#cchWideChar
cpp
1 2 char str4[100] = { '\0' }; 3 convStr(list, str4, strlen(str4), 12, (t2 + 12)); 4 5 wchar_t w[200] = { '\0' }; 6 MultiByteToWideChar(CP_UTF8, NULL,str4,100,w,200);/////// 7 8 printf("%d", GetLastError()); 9 printf("%ls\n", w); 10 //printf("%s\n", str4); 11
convStr()とは何者ですか?
>提示コードですがどうすれば文字コードをutf-8に変更出来るのでしょうか?
MultiByteToWideChar(CP_UTF8,~)はUTF8文字列をワイド文字列に変換するのであって、UTF8文字列への変換ではありませんよ。
convStr()関数はバイナリを文字にする変換する関数です。
https://teratail.com/questions/316774
この質問の続きですか?
聞きたいことは
>どうすれば文字コードをutf-8に変更出来るのでしょうか?
ではなく、UTF8文字列をワイド文字列に変換する方法ですか?
はいそうなのですが。関数の使い方がわからない場合は質問が別なのかなと思ったので分けました。
質問が間違っているなら訂正してください。
ひょっとして UTF-8 をワイド文字列だと思ってんじゃないよね?
いえ、それはわかります。utf-8文字をwchar_t型に入れて%lsで表示させるためにまずwchar_t型に入れたいのですがそれがこの関数で上手く出来ないので質問しました。
だったら質問が「どうすれば文字コードをutf-8に変更出来るのでしょうか?」なのはナゼ?
回答1件
あなたの回答
tips
プレビュー