VC 多位元組寬字元相互轉換

2021-05-21 14:20:28 字數 996 閱讀 9966

多位元組寬字元相互轉換用的較多,自己寫了一點留作以後參考。

string str;

cout<<"please input chinese"<>str;

//setlocale(lc_ctype,".chs");

const char* cstr1 = str.c_str();

//int len = 2*sizeof(cstr);

int wlen = multibytetowidechar(cp_acp,             // code page

0,                // character-type options

cstr1,              // string to map

-1,                 // number of bytes in string

null,            // wide-character buffer

0                // size of buffer

);wchar_t * buffer = new wchar_t[wlen+1];

int retwlen = multibytetowidechar(cp_acp,             // code page

0,                // character-type options

cstr1,              // string to map

-1,                 // number of bytes in string

buffer,            // wide-character buffer

wlen                // size of buffer

);buffer[wlen] = '/0';

printf("/nthe translated num is %d",retwlen);

標頭檔案 windows.h

C 多位元組字元與寬位元組字元相互轉換

pragma once class strtransfer 字元型別 wchar t char 獲取字元長度 wcslen strlen 連線兩個字串 wcscat strcpy 複製字串 wcscpy strcpy 比較兩個字串 wcscmp strcmp 具體引數詳見www.linuxidc.c...

VC下多位元組與寬位元組之間的相互轉換

為了支援unicode編碼,需要多位元組與寬位元組之間的相互轉換。這兩個系統函式在使用時需要指定 頁,在實際應用過程中遇到亂碼問題,然後重新閱讀 windows核心程式設計 總結出正確的用法。widechartomultibyte的 頁用來標記與新轉換的字串相關的 頁。multibytetowide...

C 多位元組與寬位元組之間的相互轉換

c 基本資料型別中表示字元的有兩種 char wchar t。char叫多位元組字元,乙個char佔乙個位元組,之所以叫多位元組字元是因為它表示乙個字時可能是乙個位元組也可能是多個位元組。字元陣列可以表示乙個字串,但它是乙個定長的字串,我們在使用之前必須知道這個陣列的長度。為方便字串的操作,stl定...