QT C++语言格式化输出wchar_t * 中文乱码

在 Qt 中,如果你使用 wprintf 或 wcout 进行宽字符输出,而且你的字符串包含中文字符,确保使用 Unicode 字符集,并将字符串编码为 UTF-16。此外,确保你的输出流和终端都能正确地处理宽字符。

下面是一个简单的例子:

#include 
#include 

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    // 中文字符串
    const wchar_t *myWCharString = L"你好,世界!";

    // 使用wprintf输出宽字符字符串
    wprintf(L"%ls\n", myWCharString);

    // 使用wcout输出宽字符字符串
    std::wcout << myWCharString << std::endl;

    return a.exec();
}

在这个例子中,wprintf 用于输出宽字符字符串,%ls 是格式化字符串,用于输出宽字符字符串。而 wcout 则是C++标准库的宽字符输出方式。

确保你的 Qt 项目正确配置以支持 Unicode 字符,你可以在 .pro 文件中添加如下行:

CONFIG += utf8

这将确保 QString 和其他 Unicode 字符串处理功能能够正确工作。同样,确保你的源代码文件以 UTF-8 编码保存。

你可能感兴趣的:(C++,QT,qt,c++,开发语言)