| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 740 人关注过本帖
标题:将大量txt格式数据导入到C预言三维数组中遇到的问题,
只看楼主 加入收藏
guimaxingtia
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2013-8-29
结帖率:66.67%
收藏
已结贴  问题点数:20 回复次数:8 
将大量txt格式数据导入到C预言三维数组中遇到的问题,
我想把大量的tx格式的数据导入到C语言的一个三维数组中,但是在TC下会报错(数组太大),在VC中直接没法运行。我用比较小的数据量试过,是完全可以的,但是数据量一大就不行。不知道有没有解决的办法,请各位指教。下面是我写的程序,:
程序代码:
#include <stdio.h>
int  main()
{
    int a[642][64][64];
    int i,j,k;
    FILE* fp=fopen("all.txt","r"); 
    if(fp==NULL)
    {
        printf("No files");
        return -1;
    }
    for(i=0;i<2;i++)
    {
        for(k=0;k<2;k++)
        {
            for(j=0;j<2;j++)
            {
              fscanf(fp,"%d",&a[i][j][k]);
            }
        }
        fscanf(fp,"\n");
    }
                fclose(fp);
    for(i=0;i<2;i++)
    {
        for(k=0;k<2;k++)
        {
            for(j=0;j<2;j++)
            {
              printf("%d ",a[i][j][k]);
            }
            printf("\n");
        }
    }        
    return 0;    
}


[ 本帖最后由 guimaxingtia 于 2013-9-7 04:44 编辑 ]
搜索更多相关主题的帖子: C语言 
2013-09-07 04:42
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9031
专家分:54061
注 册:2011-1-18
收藏
得分:4 
可以将栈设大点儿,更好的办法是不要分配在栈中,用malloc吧
2013-09-07 08:44
jg658237
Rank: 7Rank: 7Rank: 7
来 自:青藏高原
等 级:黑侠
帖 子:224
专家分:529
注 册:2013-8-8
收藏
得分:4 
我很疑惑你的这个程序:
请问一下:
for(i=0;i<2;i++)
    {
        for(k=0;k<2;k++)
        {
            for(j=0;j<2;j++)
            {
              fscanf(fp,"%d",&a[i][j][k]);   //请一下你这是是什么意思啊??
            }
        }
        fscanf(fp,"\n");    //还有这里是什么意思啊??
    }
                fclose(fp);

武功再高也怕菜刀.
2013-09-07 12:04
hkcmd
Rank: 2
等 级:论坛游民
帖 子:37
专家分:46
注 册:2013-8-21
收藏
得分:4 
你那数据文件难道有接近3M的大小?
2楼说的很对。
2013-09-07 23:03
hkcmd
Rank: 2
等 级:论坛游民
帖 子:37
专家分:46
注 册:2013-8-21
收藏
得分:0 
至于如何将栈设置大点,烦请高人解释了
2013-09-07 23:04
guimaxingtia
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2013-8-29
收藏
得分:0 
回复 4楼 hkcmd
有20M的样子。。。。
2013-09-09 22:50
邓士林
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:淮河河畔
等 级:贵宾
威 望:61
帖 子:2392
专家分:13384
注 册:2013-3-3
收藏
得分:4 
要不然就输入一组数据然后就运算,输出来

Maybe
2013-09-09 22:54
guimaxingtia
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2013-8-29
收藏
得分:0 
回复 7楼 邓士林
是要一起进行傅里叶变换的,不好一组一组的算,而且数据量那么大,算到什么时候呢
2013-09-09 23:01
guimaxingtia
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2013-8-29
收藏
得分:0 
回复 3楼 jg658237
下面是我的解答
for(i=0;i<2;i++)
    {
        for(k=0;k<2;k++)
        {
            for(j=0;j<2;j++)
            {
              fscanf(fp,"%d",&a[i][j][k]);   //请一下你这是是什么意思啊??:“就是把文件中的数读取出来放到数组中”
            }
        }
        fscanf(fp,"\n");    //还有这里是什么意思啊??:“读取换行,这里其实可以删去”
    }
                fclose(fp);
2013-09-09 23:08
快速回复:将大量txt格式数据导入到C预言三维数组中遇到的问题,
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.027670 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved