• 3895阅读
  • 2回复

qt这样读写文件会错吗 [复制链接]

上一主题 下一主题
离线浪迹江湖
 

只看楼主 倒序阅读 楼主  发表于: 2010-05-11
大家看看这样读写一个文本文件有什么地方不对,总的来说试了几十次都没问题。
但是在读写过程中,有一次发现把一个文本文件变成了二进制乱码文件。
是不是我没有设置编码啊?

QFile file(path);
if(!file.open(QIODevice::ReadOnly))
{
   errorReason=QString(tr("Cannot open boot.cfg ReadOnly"));
   return false;
}//只读方式打开文件

QString text;
QString str;
QTextStream stream(&file);
while(!stream.atEnd())
{
  str=stream.readLine();
  if(str.contains(QString("#")))
  {
      str.remove(QString("#"));
  }
  text=text+str+QString("\n");
}
//读里面的每一行,然后删除行前面的"#"符号,然后把它们存到text里。
file.close();

if(!file.open(QIODevice::WriteOnly))
{
   errorReason=QString(tr("Cannot open boot.cfg WriteOnly"));
   return false;
}

file.write(text.toUtf8());//再重新写进去
file.close();
离线浪迹江湖

只看该作者 1楼 发表于: 2010-05-11
up!
离线yangfanxing
只看该作者 2楼 发表于: 2010-05-11
toUtf8 () const : QByteArray。。。

是写完后发现乱码吧。。。
为什么不用stream写入呢?
PHPWind好恶心。。。不想看这种界面。。。
快速回复
限100 字节
 
上一个 下一个