qt下控制台输出中文

在Qt下进行图形化界面开发时,作者发现使用cout输出中文存在编码问题导致乱码。通过尝试,作者发现qDebug()函数可以解决这个问题,但在release版本中使用此函数输出文件内容感觉不合适。最终,作者利用Qt的QTextStream成功实现了控制台的中文输出。代码实现后,文件需放置在exe文件上一层目录下,特定目录结构为“build-printf-Desktop_Qt_5_4_0_MinGW_32bit-Release”。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转到qt下,主要是因为跟着导师做图形化界面,一下子就喜欢上了。最高兴的就是它的轻量级,做些小项目很爽。

所以,console的一些项目也打算移植到qt来。

不过,虽然说qt对c++有支持,但是似乎对中文的支持有点……或者说,并不是它支持不好,而是用c++的方法来做有点问题,它对中文的支持,绕开了c++。所以cout的使用就麻烦一些。

网上,很多关于中文的问题,相信大家也都在这里死磕过……昨晚,也花了很多时间去弄,终于是弄出来了,所以说说我的方法吧。


我想做的功能很简单,就是在控制台上显示一个本地文件的内容。可是使用cout,不管怎么设定编码,都是乱码。

之后,有个介绍说用qDebug可以……我试了试,发现还真的可以……但,真的就用这个吗?虽然在release版本中,这个函数也能用(简直名不符实!),但用这个东西来做文件输出,怎么都感觉很诡异。

后来又试了试,终究是没找到方法用cout来输出。而用了Qt自己的QTextStream完成了。

最后,上代码:

#include <QCoreApplication>
#include <iostream>
#include <QTextStream>
#include <QDebug>
#include <QFile>
 
using namespace std;
 
 
int main(int argc, char *argv[])
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值