wprintfwcout无法输出中文的解决方案

Posted buyishi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了wprintfwcout无法输出中文的解决方案相关的知识,希望对你有一定的参考价值。

在C语言中,若wprintf无法输出中文,调用函数setlocale(int category, const char *locale)设置locale即可输出中文

此方法也可用于C++中

例:

#include <stdio.h>
#include <locale.h>
int main()
{
    setlocale(LC_ALL, "");
    const char *str = "中文
";
    printf(str);
    const wchar_t *wstr = L"中文
";
    wprintf(wstr);
    system("pause");
    return 0;
}

 

在C++中,若wcout无法输出中文,调用函数wcout.imbue(const locale &loc)替换当前locale即可输出中文

例:

#include <iostream>
#include <string>
int main()
{
    using namespace std;
    string str = "英文";
    cout << str << endl;
    wcout.imbue(locale("chs"));
    wstring wstr = L"英文";
    wcout << wstr << endl;
    system("pause");
    return 0;
}

 

以上是关于wprintfwcout无法输出中文的解决方案的主要内容,如果未能解决你的问题,请参考以下文章

qt无法正常输出中文怎么办

无法获得所需的掩码检测输出

PHP使用GD2库画图,图像无法输出解决方法

HDF5 无法创建文件错误

Java下载多个文件打成压缩包返回输出流,并解决被JVM占用无法打开

Ajax 请求输出 HTML 代码而不是表单值