首先,文件要以utf8编码,然后,指定编译器用utf8编码,例如vc的:
win32-msvc* { QMAKE_CXXFLAGS += /utf-8 }
最后,看代码即可输出中文:
void MainWindow::on_pushButton_clicked() { qDebug("this is qDebug 中文"); QString ab("this is debugStr 中文"); OutputDebugString(reinterpret_cast<const wchar_t *>(ab.utf16())); QString ac = "qstring 中文"; fprintf(stderr,"%s\n",ac.toLocal8Bit().data()); std::string rawstr = QString::fromUtf8("raw 中文").toLocal8Bit().constData(); fprintf(stderr,"%s\n",rawstr.c_str()); }
注意,
OutputDebugString
只打印到debugger的控制台,不会打印到cmd dos窗口。