将wchar_t转换为char c ++

Car*_*ark 0 c++ wchar-t char

我用mingw编译器.如何转换wchar_tchar

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);
    }
}
Run Code Online (Sandbox Code Playgroud)

我想将wchar_t szFileName转换为char szFileNameChar.

gon*_*aao 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());
Run Code Online (Sandbox Code Playgroud)

要查看详细说明,请参阅以下帖子: std :: wstring VS std :: string

  • 它可能适用于ASCII文本,但这是非常依赖于语言环境的,并且不适用于某些字符编码. (3认同)