Re: [問題] 請問wstring格式存的字消失了
※ 引述《worldxxi (風)》之銘言:
: 我第一次碰編碼的問題,沒想到這麼麻煩
: 我想要把utf-8的文字寫入資料庫,一開始就有問題。
: 我宣告了一個字串,用來存 ( 'になるか' )
: wstring MessageUserSend=L"'になるか'";
: 可是不管我用wcout顯示在console,還是wofstream寫入檔案都只得到 ( ' )
: step-by-step 執行的時候,我看到MessageUserSend的值為<Bad Ptr>
: 我是用visual studio 2005
: 有人知道嗎?謝謝
其實直接用 string 處理就好
wstring 用 wchar_t 儲存字元,你的 ' 字元也會變 2 bytes
你的資料直接傳遞應該是沒問題
現在為了顯示出來,可以使用以下作法
#include <locale.h>
#include <windows.h>
// 以下是那串日文的原始位元組資料
char utf8str[] =
"\x27\xE3\x81\xAB\xE3\x81\xAA\xE3\x82\x8B\xE3\x81\x8B\x27";
wchar_t ucs2str[100]={0};
MultiByteToWideChar(CP_UTF8, 0,
utf8str, strlen(utf8str)+1, ucs2str, 100);
// 顯示方法1:
WriteConsole(GetStdHandle(STD_OUTPUT_HANDLE),
ucs2str, wcslen(ucs2str), &wr, NULL);
// 顯示方法2:
setlocale(LC_ALL, "");
printf("%ws", ucs2str);
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.231.159.237
※ 編輯: UNARYvvv 來自: 118.231.159.237 (07/14 13:09)
推
07/14 13:58, , 1F
07/14 13:58, 1F
→
07/14 14:00, , 2F
07/14 14:00, 2F
→
07/14 14:05, , 3F
07/14 14:05, 3F
→
07/14 14:15, , 4F
07/14 14:15, 4F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章