当前位置: 代码迷 >> QT开发 >> Qt中文件操作出错解决方案
  详细解决方案

Qt中文件操作出错解决方案

热度:567   发布时间:2016-04-25 05:12:36.0
Qt中文件操作出错
本人在linux QT4下对文件进行操作,当然操作的步骤都是很简单的,如下:
  QFile file("writeFile.txt");
  if(!file.open(QIODevice::WriteOnly | QIODevice::Text))
  {
  return -1;
  }

  QTextStream in(&file);
  in << "Hello Qt!\n";
  file.close();

但是编译(Qt Creater 1.3.1)时经常出现莫名其妙的错误,如下:
./QFile:212: error: stray ‘\1’ in program
./QFile:212: error: stray ‘\261’ in program
./QFile:212:469: warning: null character(s) ignored
./QFile:212: error: stray ‘\361’ in program
./QFile:212:473: warning: null character(s) ignored
./QFile:212: error: stray ‘\7’ in program
./QFile:212:479: warning: null character(s) ignored
./QFile:212: error: stray ‘\230’ in program
./QFile:212:485: warning: null character(s) ignored
./QFile:212: error: stray ‘\4’ in pro
gram
./QFile:212: error: stray ‘\274’ in program
./QFile:212: error: stray ‘\261’ in program

当然了这只是截取一部分的,同样的错误有很长的,同时Qt Creater就死掉了,必须关闭(强制退出)。
如果在编译之前删掉上次生成的可执行文件,就会很正常的。

敬请高手解答,谢谢!

------解决方案--------------------
应该是你往文件里写字符串的位置不对吧。
------解决方案--------------------
你是从某些地方copy的代码吧?
好像是这些代码里由非法字符
------解决方案--------------------
IDE里面应该会显示这样的错误具体是哪里出现的

./QFile:212: “QFile”? 0.o
------解决方案--------------------
你rebuild下项目,要是还是这样的话,估计就是代码有写非法字符了

你先复制到记事本里面,然后再复制过来看看
------解决方案--------------------
恩。汉字编码的问题。
有一些看不到的编码存在。
  相关解决方案