如果我在仅 ANSI 代码页环境中。
是否转换wide char
为char
:
char ansi_cstr[size_of_ansi_str];
WideCharToMultiByte(CP_ACP, 0, ansi_wstr.c_str(), -1, ansi_str, size_of_ansi_str, 0, 0);
std::string ansi_str = std::string(ansi_cstr);
等于以下
std::string ansi_str = std::string(ansi_wstr.begin(), ansi_wstr.end());
并char
_wide char
wchar_t ansi_wcstr[size_of_ansi_str];
MultiByteToWideChar(CP_ACP, 0, ansi_str.c_str(), -1, ansi_wcstr, size_of_ansi_str);
std::wstring ansi_wstr = std::wstring(ansi_wcstr);
等于
std::wstring ansi_wstr = std::wstring(ansi_str.begin(), ansi_str.end());
这两种情况在仅 ansi 代码页的环境中是否保持相同的行为?