c++使用setlocale(LC_ALL, "");案例
时间: 2023-12-30 07:05:52 浏览: 108
c++ by example
以下是一个简单的C++程序示例,显示如何使用`setlocale()`函数来设置本地设置:
```c++
#include <iostream>
#include <locale>
#include <string>
int main()
{
std::string str = "你好,世界!";
// 设置本地设置为系统默认
setlocale(LC_ALL, "");
// 将字符串转换为宽字符串
std::wstring wstr = std::wstring_convert<std::codecvt_utf8<wchar_t>>().from_bytes(str);
// 输出宽字符串
std::wcout << wstr << std::endl;
return 0;
}
```
在上面的代码中,调用`setlocale(LC_ALL, "")`函数将本地设置设置为系统默认设置。然后,使用`std::wstring_convert<std::codecvt_utf8<wchar_t>>().from_bytes()`函数将字符串转换为宽字符串,并使用`std::wcout`输出宽字符串。
如果您的系统默认本地设置不是UTF-8编码,您可以将本地设置设置为支持UTF-8编码的本地设置。例如,以下代码将本地设置设置为支持UTF-8编码的中文本地设置:
```c++
setlocale(LC_ALL, "zh_CN.UTF-8");
```
注意:如果您在Windows平台上运行程序,您需要确保您的控制台窗口支持UTF-8编码。如果不支持,您可以通过在控制台窗口中运行以下命令来启用UTF-8编码支持:
```bash
chcp 65001
```
阅读全文