本人在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下项目,要是还是这样的话,估计就是代码有写非法字符了
你先复制到记事本里面,然后再复制过来看看
------解决方案--------------------
恩。汉字编码的问题。
有一些看不到的编码存在。