"あいうえお"等、日本語が入っているString型の変数をwstring_convertを
用いてu16String型に変換しようとすると何故か例外が発生してしまいます。
OSはWindows 10、開発環境はVisual Studio 2015です。
例外が発生するソースコードは以下のとおりです。
C++
1#include <codecvt> 2#include <string> 3#include <locale> 4#include <iostream> 5 6int main(void) 7{ 8 9 std::wstring_convert<std::codecvt_utf8_utf16<uint16_t>, uint16_t> converter; 10 //std::wstring_convert<std::codecvt_utf8_utf16<char16_t>, char16_t>にするとVisual Studio 2015ではバグが発生する 11 12 13 std::string str="あいうえお"; 14 std::u16string u16str; 15 //文字列の返還 16 auto foo = converter.from_bytes(str); //この時に例外が発生する 17 u16str = *reinterpret_cast<std::u16string*>(&converter.from_bytes(str)); 18}
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/03/01 12:05
2017/03/01 13:06
2017/03/20 22:37