| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1508 人关注过本帖
标题:把txt中数据存到数组中
只看楼主 加入收藏
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
你这个基础,给你做了,后面也接不下去,因为读进来的数据根本不是你想象的那样放置。先把基础打好吧,总是临急抱佛脚不行的。那些人平时教他,又不肯好好学,教他多走一步就嫌啰嗦,不见踪影,到出事就再来等靠要,我没按坛柜直接删贴锁贴已经非常仁慈了,宠坏了那些人。

[ 本帖最后由 TonyDeng 于 2015-9-12 11:53 编辑 ]

授人以渔,不授人以鱼。
2015-09-12 11:51
咚咚dddd锵
Rank: 2
等 级:论坛游民
威 望:1
帖 子:15
专家分:15
注 册:2015-9-12
收藏
得分:5 
回复 5楼 群众谋
这个正解

活着是种态度
2015-09-12 20:56
terry6677
Rank: 1
等 级:新手上路
帖 子:45
专家分:5
注 册:2015-6-29
收藏
得分:5 
学习
2015-09-13 16:23
erty1001
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:4
帖 子:331
专家分:1433
注 册:2014-8-31
收藏
得分:5 
简单说说:
程序代码:
#include<stdio.h>
#include<ctype.h>
#include<stdlib.h>
#include<math.h>
#include<string.h>
#include <stdlib.h>
  //===============================数据格式结构
struct DATA
{
   DATA();
   DATA(char *charnumber);
   void  DataOutput();
   double number[3];
};

DATA::DATA()
{
}

DATA::DATA(char *charnumber)
{
  number[0]=0;
  number[1]=0;
  number[2]=0;
  if(strlen(charnumber)!=0)
  {
     char numbermark =0;  //0=整数部分 !0=小数部分
     char witchnumber =0; //哪一个数字 0 1 2 三种情况
     double littlenumber[11]={0,1e-1,1e-2,1e-3,1e-4,1e-5,
         1e-6,1e-7,1e-8,1e-9,1e-10};
     for(int i=0;charnumber[i]!='\0';i++)
     {
         if(witchnumber>2){continue;}
         if(charnumber[i]=='.'){numbermark=1;continue;}
         if(charnumber[i]==' '||charnumber[i]=='\t'){numbermark=0;witchnumber++;continue;}
         if(charnumber[i]<'0'||charnumber[i]>'9'){continue;}
         if(numbermark==0)
         {
             number[witchnumber]*=10;
             number[witchnumber]+=(charnumber[i]-'0');
         }
         else
         {
             number[witchnumber]+=(charnumber[i]-'0')*littlenumber[numbermark++];
         }
     }
  }
}

void DATA::DataOutput()
{
    printf("%f  %f  %f\n",this->number[0],this->number[1],this->number[2]);
}
  //===============================


  //===============================声明一个文件类
class TXTFILE
{
public:
  TXTFILE(char *txtfilepath);
  ~TXTFILE();
  void  changefiletodata(DATA *data);
  int  getlengthdata();
private:
  FILE  *txtfilepoint;
};
  //===============================
  //===============================构造函数定义
TXTFILE::TXTFILE(char *txtfilepath)
{
  txtfilepoint = fopen(txtfilepath,"r");
  if(txtfilepoint==NULL)
  {
      printf("open %s error!\n",txtfilepath);
      exit(0);
  }
}
  //===============================
  //===============================析构函数定义
TXTFILE::~TXTFILE()
{
  fclose(txtfilepoint);
}
  //===============================
  //===============================文件转数据函数定义
void TXTFILE::changefiletodata(DATA *data)
{
  char c2[100]="\0";
  int  datanumber;
  char c1;
  for(datanumber=0,rewind(txtfilepoint);(c1=getc(txtfilepoint))!=EOF;)
  {
      if(c1=='\n') {data[datanumber]=DATA(c2);c2[0]='\0';datanumber++;continue;}
      char c3[2];
      c3[0]=c1;c3[1]='\0';
      strcat(c2,c3);
  }
}

  //===============================

int TXTFILE::getlengthdata()
{
  int datanumber;
  char c1;
  for(datanumber=0,rewind(txtfilepoint);(c1=getc(txtfilepoint))!=EOF;)
  {
      if(c1=='\n') {datanumber++;}
  }
  return datanumber;
}

int  main(void)
{


    int datanumber=0;
    DATA  *data;
    TXTFILE txtfile("7300.txt");
    datanumber=txtfile.getlengthdata();
    data = new DATA[datanumber];


    txtfile.changefiletodata(data);



    for(int i=0;i<datanumber;i++)
    {
        data[i].DataOutput();
    }

        system("pause");


    return 0;

}


2015-09-13 17:08
快速回复:把txt中数据存到数组中
数据加载中...
 
   



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

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