找回密码
 立即注册
收起左侧

qfile读取文件出错

3
回复
9870
查看
[复制链接]

尚未签到

来源: 2017-1-30 23:31:18 显示全部楼层 |阅读模式
1Qter豆
我用qfile读取文件数据并把数据存放在一个数组里面,但是文件里头有40000个数据 读完只能读36000多个 调整到60000个数据后能读58000个。。。不知道哪里出错了
代码如下
    QString Filename=QFileDialog::getOpenFileName(this,"Read an array.",QDir::currentPath());
    QFile *file=new QFile;
    file->setFileName(Filename);
    bool ok=file->open(QIODevice::ReadOnly);
    this->array=new int[this->arraysize];
    if(ok)
    {
        QTextStream in(file);
        int i=0;
        while(!file->atEnd())
        {
          in>>array[i];
          i++;
        }
        qDebug()<<i;//用i检测到成功读取的只有36000个
    }
程序输出如下:
shell\comdlg32\fileopensave.cpp(14274)\comdlg32.dll!00007FF976E4EFF2: (caller: 00007FF976E7FDA1) ReturnHr(1) tid(374) 80004005 未指定的错误
    CallContext:[\PickerModalLoop]
36112

最佳答案

查看完整内容

你数据是什么格式的怎样的数据,array是什么类型的。建议先用少量的数据测试下自己的代码,看结果是否与自己想的一致,找一下原因。
回复

使用道具 举报

累计签到:1568 天
连续签到:1 天
2017-1-30 23:31:19 显示全部楼层
你数据是什么格式的怎样的数据,array是什么类型的。建议先用少量的数据测试下自己的代码,看结果是否与自己想的一致,找一下原因。
回复

使用道具 举报

尚未签到

2017-1-31 22:05:18 显示全部楼层
yafeilinux 发表于 2017-1-31 11:13
你数据是什么格式的怎样的数据,array是什么类型的。建议先用少量的数据测试下自己的代码,看结果是否与自 ...

数据是int 型的(文件和array都是Int)我尝试把array的数据打印出来核对,和原来的是一样的 就是数据量变少了……好奇怪 我再找找原因
回复

使用道具 举报

累计签到:1568 天
连续签到:1 天
2017-1-31 23:02:47 显示全部楼层
嗯,看是不是空格或者符号什么的原因,先用少量数据测试看是否丢失。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了