本人要在Linux下用QT读取一个文本,但是里面的文本有几行特别长,其中有一行达到10000多个字符,最终导致返回的字符串为空,调试过后觉得应该是字符串长度的问题,请问该如何处理是好?谢谢!
文本样本在这里:http://download.csdn.net/detail/silentwins/5441109
读取文本的代码如下:
QString MainWindow::ReadFile(QString FileName)
{
QFile fileRead(FileName);
if(!fileRead.open(QFile::ReadOnly | QFile::Text))
{
return "";
}
QTextStream in(&fileRead);
QString strContent="";
while(!in.atEnd())
{
strContent += in.readLine();
}
fileRead.flush();
fileRead.close();
return strContent;
}
QT?行?长?文本
------解决方案--------------------
不会出这样的问题,用几个qdebug输出关键点的信息,打开文件是否成功,strContent+=之后的count。
下面的两行没有什么用。
fileRead.flush();
fileRead.close();
还有open 的参数QFile::Text也没什么用。
------解决方案--------------------
win7 下测试正常
------解决方案--------------------
要不用QByteArray
------解决方案--------------------
没看懂,是转义字符惹的祸吗