2013-04-02 128 views
0

我使用mingw編譯器。 如何轉換wchar_tchar將wchar_t轉換爲char C++

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