러시아 WINDOWS-1251



wstring CP1251(const string& str) {


wstring wstr;


if (str.empty()) return wstr;

int size = MultiByteToWideChar(1251, 0, str.c_str(), str.size(), 0, 0);

if (size == 0) {

DWORD err = GetLastError();

cout << "err : " << err << endl;

}


wstr.resize(size);

int result = MultiByteToWideChar(1251, 0, str.c_str(), str.size(), &wstr.at(0), wstr.size());

if (result == 0) {

DWORD err = GetLastError();

cout << "err : " << err << endl;

}

return wstr;

}


int _tmain(int argc, _TCHAR* argv[])

{

setlocale(LC_ALL, "Russian");


char str[] = "hihihi";

char* str_ptr = str;

wstring wstr = CP1251(str_ptr);

wcout << wstr << endl;


return 0;

}

'C++' 카테고리의 다른 글

shorcut 바로가기 아이콘 만들기  (0) 2012.06.30
c++ cookie 읽기  (0) 2012.06.26
7z LZMA sdk 윈도우 visual studio 컴파일  (0) 2012.06.26
GUI : Windows 7 부터 지원되는 TaskBar progress bar  (0) 2012.06.22
xml parser  (0) 2012.05.31
Google C++ Style Guide  (0) 2012.05.31
packet 구조 - network  (0) 2012.05.31
keep alive option - network  (0) 2012.05.31