• 11063阅读
  • 6回复

QTextstream::readline() 怎样一行一行的往下读啊? [复制链接]

上一主题 下一主题
离线npuwj
 
只看楼主 倒序阅读 楼主  发表于: 2011-05-01
      我写的readline()只能读txt文件的第一行,是不是函数把每行的空格当成结束了?
      万谢了!!
离线npuwj
只看该作者 1楼 发表于: 2011-05-01
有while(!file.atEnd())语句,但是就只读了一行
离线dbzhang800

只看该作者 2楼 发表于: 2011-05-01
不妨你贴你的完整的测试程序。如果你的程序超过了20行。在完整且反应问题的情况下缩到20行以内。
离线zzjin

只看该作者 3楼 发表于: 2011-05-01
把代码部分贴出来吧
离线npuwj
只看该作者 4楼 发表于: 2011-05-02
回 2楼(dbzhang800) 的帖子
QFile file("/home/wj/file_table/test.txt");
        QString py;
        QString chn;
        QString content;
        QRegExp regExp("([^A-Za-z]*)([*]{0,1}[A-Za-z]*)"); //split拼音和汉字的正则化表达式
        if(!file.open(QIODevice::ReadOnly|QIODevice::Text))
        {
            qDebug()<<"open file error";
            return 0;
        }
        else
        {
            QTextStream text_stream(&file);
            while(!file.atEnd())
            {
                content=text_stream.readLine(0);
                content.trimmed();
                if(regExp.indexIn(content)>-1)
                {
                    py=regExp.cap(2);
                    chn=regExp.cap(1);

                    qDebug()<<py;
                    qDebug()<<chn;
                    query.exec("insert into pingyin values('"+py+"','"+chn+"')"); //将拼音和汉字存入数据表pingying

                }
            }
        }
        file.close();


qDebug 只显示第一行记录
离线npuwj
只看该作者 5楼 发表于: 2011-05-02
回 3楼(zzjin) 的帖子
QFile file("/home/wj/file_table/test.txt");
        QString py;
        QString chn;
        QString content;
        QRegExp regExp("([^A-Za-z]*)([*]{0,1}[A-Za-z]*)"); //split拼音和汉字的正则化表达式
        if(!file.open(QIODevice::ReadOnly|QIODevice::Text))
        {
            qDebug()<<"open file error";
            return 0;
        }
        else
        {
            QTextStream text_stream(&file);
            while(!file.atEnd())
            {
                content=text_stream.readLine(0);
                content.trimmed();
                if(regExp.indexIn(content)>-1)
                {
                    py=regExp.cap(2);
                    chn=regExp.cap(1);

                    qDebug()<<py;
                    qDebug()<<chn;
                    query.exec("insert into pingyin values('"+py+"','"+chn+"')"); //将拼音和汉字存入数据表pingying

                }
            }
        }
        file.close();

只看该作者 6楼 发表于: 2011-06-09
QTextStream text_stream(&file);
            while(!text_stream.atEnd())                           //这样子改一下
            {
                content=text_stream.readLine(0);
快速回复
限100 字节
 
上一个 下一个