| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2642 人关注过本帖
标题:C语言从txt中读取数据并存入动态数组中
只看楼主 加入收藏
lebronze
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2016-5-25
结帖率:50%
收藏
 问题点数:0 回复次数:0 
C语言从txt中读取数据并存入动态数组中
txt中存储的是double类型的数值,按列排列(每行一个数值然后换行)。现在要实现从txt中读取数据并获取文件行数,然后以文件行数为大小创建动态数组,将数据依次写入这个动态数组中。以下是我的代码:
程序代码:
char path[4][50]={"E:/g(0).txt","E:/g(1).txt","E:/g(2).txt","E:/g(3).txt"};
FILE *f1;                    
double *data1;               //读入文件的动态数组
long size_f1=0;                //文件行数
int i;
int n=0;
int mid;
f1=fopen(path[0],"r+");

//获取文件行数,方便创建动态数组
if(f1!=NULL){
   while(!feof(f1))
     {   
           mid=fgetc(f1); //从txt文本中读取一个字符赋值给mid
           if(mid=='\n')  //如果这个字符为换行符
            n++;        //记录txt数据行数
      }
   
      size_f1=n+1;      //最后一行没有换行符,所以+1
      printf("txt行数为: %ld\n",size_f1);
      
      data1=(double*)malloc(sizeof(double)*size_f1); //创建动态数组
      for (i=0;i<size_f1;i++)
      {
          fscanf(f1,"%f", &data1[i]);  // 循环读(aaaaaaa)
          printf("%f\n",&data1[i]);
      }

另外我不是十分清楚C文件操作中的fscanf和fread,比如将aaaaaa处换成
fread(data1[i],sizeof(double),1,f1);
,结果都是不正确,老是内存错误
希望大神指点
搜索更多相关主题的帖子: double C语言 动态 
2016-05-25 16:49
快速回复:C语言从txt中读取数据并存入动态数组中
数据加载中...
 
   



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

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