当前位置: 代码迷 >> QT开发 >> QT读取文本文件里边一行很长的字符
  详细解决方案

QT读取文本文件里边一行很长的字符

热度:34   发布时间:2016-04-25 03:53:48.0
QT读取文本文件里面一行很长的字符
本帖最后由 silentwins 于 2013-05-24 11:29:16 编辑
本人要在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
------解决方案--------------------
没看懂,是转义字符惹的祸吗