2013-04-02 2 views
0

저는 mingw 컴파일러를 사용합니다. wchar_tchar로 변환하는 방법?wchar_t를 char로 변환합니다.

Data(HWND hwnd, wchar_t szFileName[MAX_PATH]) 
{ 
    string sIn; 
    ifstream infile; 
    infile.open(szFileName); 
    infile.seekg(0,ios::beg); 

    // fill vector with file rows 
    while (getline(infile,sIn)) 
    { 
     fileRows.push_back(sIn); 
    } 
} 

wchar_t szFileName을 char szFileNameChar로 변환하고 싶습니다.

+0

['표준 : wstring_convert'] (http://en.cppreference.com/w/cpp/locale/를 wstring_convert) 도움이됩니다. – chris

+1

나쁜 질문입니다. char와 wchar은 저장된 내용의 인코딩을 설명하지 않습니다. 당신이 물어볼 필요가있는 것은 문자열 (char와 wchar_t 버전 모두)의 텍스트 인코딩입니다. 일단 당신이 이것을 가지고 있다면, 우리는 어떻게 하나에서 다른 것으로 변환 할 수 있는지 토론 할 수 있습니다. –

답변

5
string str("i'm char[]"); 
wstring wstr(str.begin(), str.end()); 

wstring wstr(L"i'm wchar_t[]"); 
string str(wstr.begin(), wstr.end()); 

에 대한 자세한 설명을 보려면 다음 게시물을 참조하십시오 : std::wstring VS std::string

+3

ASCII 텍스트의 경우 작동하지만 매우 로캘에 따라 다르며 일부 문자 인코딩에서는 작동하지 않습니다. – user657267

+0

@luksy 예. 해명 해줘서 고마워. – gongzhitaao

관련 문제