C++ 将wchar_t转换为char c++;

C++ 将wchar_t转换为char c++;,c++,char,wchar-t,C++,Char,Wchar T,我使用mingw编译器。 如何将wchar\u 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 ) )

我使用mingw编译器。 如何将
wchar\u 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

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

wstring wstr(L"i'm wchar_t[]");
string str(wstr.begin(), wstr.end());
要查看详细说明,请参阅以下帖子:

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

应该会有帮助。这是个糟糕的问题。char和wchar不描述存储内容的编码。您需要问的是字符串中的文本编码是什么(char和wchar\t版本)。一旦你有了这个,我们就可以讨论如何从一个转换到另一个。应该会有帮助,这个问题很糟糕。char和wchar不描述存储内容的编码。您需要问的是字符串中的文本编码是什么(char和wchar\t版本)。一旦你有了这个,我们可以讨论如何从一个转换到另一个。它可能适用于ASCII文本,但这是非常依赖于区域设置的,对某些字符编码不起作用。它可能适用于ASCII文本,但这是非常依赖于区域设置的,对某些字符编码不起作用。