VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 143|回复: 4

关于从文件读取数据的问题

[复制链接]
97_avatar_middle
最佳答案
0 
在线会员 发表于 2020-3-28 17:05:48 | 显示全部楼层 |阅读模式
想把文件中的数据存到一个二维数组里面,用new开辟了一个二维数组的空间。调试的时候发现数据没有导入进去。能不能请大佬帮我看看问题出在哪儿?之前用static float data[280][2048] = {0};初始化数组的时候,数据是成功导入了的。

int main()
{
        char FileName[30] = { 0 };
        vector <string> name;
        for (int i = 1; i <= 2; i++)
        {
                sprintf_s(FileName,sizeof(FileName), "%d.dat", i);
                name.push_back(FileName);
        }

        int** data = new int*[280];
        for (int i = 0; i < 2048; ++i)
        {
                data[i] = new int[2048];
        }

        ifstream inf;
        inf.open(name[0].c_str());
        while (!inf.eof())
        {
                for (int i = 0; i < 280; i++)
                {
                        for (int ii=0;ii<2048;ii++)
                        {
                                inf >> data[i][ii];
                        }
                       
                }
        }

        return 0;
}
谢谢各位
文件读取失败.png




上一篇:C++操作Excel
下一篇:word二次开发的问题
01_avatar_middle
最佳答案
37 
online_admins 发表于 2020-3-28 22:41:13 | 显示全部楼层
是文件打开失败吗?还是怎么个情况?
97_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2020-3-28 23:04:07 | 显示全部楼层
admin 发表于 2020-3-28 22:41
是文件打开失败吗?还是怎么个情况?

文件打开是成功的,就是数据读不进数组,断点调试的时候就一直卡在正在运行。怀疑是不是开辟二维数组有问题,又重新写了开辟二维数组的代码,还是无法导入。。
01_avatar_middle
最佳答案
37 
online_admins 发表于 2020-3-28 23:07:25 | 显示全部楼层
zzz1heng 发表于 2020-3-28 23:04
文件打开是成功的,就是数据读不进数组,断点调试的时候就一直卡在正在运行。怀疑是不是开辟二维数组有问 ...

  1. int** data = new int*[280];
  2. for (int i = 0; i < 2048; ++i) //有问题,有问题,有问题
  3. {
  4.       data[i] = new int[2048];
  5. }
复制代码


将 for 中的 2048 改成 280 就可以了!
97_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2020-3-28 23:26:47 | 显示全部楼层
admin 发表于 2020-3-28 23:07
将 for 中的 2048 改成 280 就可以了!


谢谢您,不过这边的错误我之前已经发现改过来了,但还是有问题,见图,data里面还是没有数据。。
后来重新写了一个开辟二维数组的定义,但这个data里面也只传进来了文件里第一行的2048个数据。不知道这两个的问题都出在哪儿?
  1.         float(*data)[2048] = new float [280][2048];
  2.         ifstream inf;
  3.         inf.open(name[0].c_str());
  4.         while (!inf.eof())
  5.         {
  6.                 for (int i = 0; i < 280; i++)
  7.                 {
  8.                         for (int ii=0;ii<2048;ii++)

  9.                         {        inf >> data[i][ii];  }
  10.                        
  11.                 }
  12.         }
复制代码

这边的data还是有问题

这边的data还是有问题
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

×【发帖 友情提示】
1、请回复有意义的内容,请勿恶意灌水;
2、纯数字、字母、表情等无意义的内容系统将自动删除;
3、若正常回复后帖子被自动删除,为系统误删的情况,请重新回复其他正常内容或等待管理员审核通过后会自动发布;
4、感谢您对VC驿站一如既往的支持,谢谢合作!

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号 )|网站地图wx_jqr

GMT+8, 2020-8-5 18:19

Powered by CcTry.CoM

© 2009-2020 cctry.com

快速回复 返回顶部 返回列表