如何实现 qt 中qfile写出的文本 设置为unicode编码 在线等 谢谢。。。

 我来答
mileelove
2011-03-29 · TA获得超过454个赞
知道小有建树答主
回答量:183
采纳率:0%
帮助的人:326万
展开全部
//主要是用到QTextStream的setCodec()函数
QFile file("in.txt");
if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
return;
QTextStream in(&file);
in.setCodec("unicode");
while (!in.atEnd())
{
QString line = in.readLine();
//进行相关处理
}
追问
你这个是读取勒   我需要写入  而且  写入的时候用这种方式写出来的东西是有问题的 我测试过
追答
我刚才测试了,很遗憾,达不到你的要求。尝试了unicode编码,写入文件总是乱码。只有用gb18030 才不会写入文件乱码。 下面是代码,或许对你来说没啥用。

#include
#include
#include
#include
#include
#include

int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("gb18030"));
QLabel textLabel;
QFile file("in.txt");
if (!file.open(QIODevice::ReadWrite | QIODevice::Text))
{
qDebug()<<"open file failure!!!!";
}
QTextStream out(&file);
// out.setCodec("unicode");
QString text ("中文文本写入测试");
// out << text.unicode();
out<<text;

out.seek(0);
while (!out.atEnd())
{
QString line = out.readLine();
//进行相关处理
textLabel.setText(line);
}

textLabel.show();
return a.exec();
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友6521f69
2011-03-29 · TA获得超过247个赞
知道小有建树答主
回答量:205
采纳率:0%
帮助的人:183万
展开全部
qfile写出的时候你设置一下编码方式,输出的时候API里面有选项,你去仔细看看qfile的API
追问
qfile  没得编码设置的 我找过了 。。。没有setCodec 或者setEncoding之类的函数
追答
那就按照楼下的方法试试,一行一行的处理,实在不得行就一个个字符的处理,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式