针对.txt文档的大量有规律数据,譬如100行8列的数据将其读取到二维数组(矩阵)中,留作之后的数据处理。

改程序通过宏定义的方法来确定将要读取程序的行数和列数,将数据读取到二维数组data[100][8]中。

同一时候增加一个測试函数read(),功能是能够获取txt文档大量数据的行数,本项目中待定使用。

程序例如以下:

#include<stdio.h>

#include<stdlib.h>

/*

为了以后特定行数的读取,採用宏定义的方法来确定行数

程序中read()读取该文件的行数,当未知文件行数时可使用返回值做全局变量

*/

#define N 115   //行

#define L 8       //列





const char file_name[50] = "d:\\dat.txt";

void read(FILE *fp)

{    int row=0;

char mid;

while(!feof(fp))

     {   

           mid=fgetc(fp); //从txt文本中读取一个字符赋值给mid

           if(mid=='\n') //假设这个字符为换行符

            row++; //记录txt数据行数

      }

row++;
//最后一行没有换行符

    printf("行数为%d\n",row);

    rewind(fp); //回文件起始位置 

}

int main(int argc, char *argv[])

{

FILE *fp;

double data[N][L] = {0.0};   //二维数组

int index[N] = {0};
//二维数组行下标

double temp;  

int i, j;

int count = 0;  //计数器,记录已读出的浮点数

if((fp=fopen(file_name, "rb")) == NULL) {

printf("请确认文件(%s)是否存在!\n", file_name);

exit(1);

}

       read(fp);     //读取行数

while(1==fscanf(fp, "%le", &temp)) //lf,le都能够。但别的都不能够,%e也不行

{

data[(index[count%L])++][count%L] = temp;

count++;

}

fclose(fp);   //关闭句柄

/******处理数据****************/

for(i=0;i<N;i++)

{   printf("第%d行数据:\n",i+1);

for(j=0;j<L;j++)

{

 printf("%5.3le ", data[i][j]);//.16f能够,le时以科学计数法显示

}

printf("\n");

}



return 0;

}

C语言读取文件大量数据到数组的更多相关文章

  1. R语言--读取文件(数据输入)

    1 数据的输入 1.1 键盘输入 首先新建一张空表: dat<-data.frame(age=numeric(0),gender=character(0),weight=numeric(0)) ...

  2. 关于C语言读取文件时候多读一行

    梗概:为什么C语言读取文件到结构体时为什么整天多读一行?一切都是[!feof(fp)]的错!!! while (!feof(fp)) { fgets(buffer, , fp); j++; } 像这样 ...

  3. R语言读取文件

    1.R语言读取文件,文件类型为.txt 直接使用read.table()即可,若不知道当前的工作目录,可以使用函数getwd()来查看 2.R语言读取文件,文件类型为.xlsx 方法一:可以把excl ...

  4. C语言 读取文件中特定数据

    //读取文件数据 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> struct jia ...

  5. PHP —— 读取文件到二维数组

    转自:PHP读取自定义ini文件到二维数组 读取文件,可以使用file_get_contents,file,parse_ini_file等,现在有一个需求,需要读取如下格式的文件: [food] ap ...

  6. PHP读取文件夹数据,并分页

    protected function read_all ($dir){ // 确保目录有权限进入 if(!is_dir($dir)) return false; $handle = opendir($ ...

  7. 类似于c语言读取文件进行解析

    $log_file_name = 'D:/static/develop/kuai_zhi/acagrid.com/public/Logs/'.date('Ym').'/'.date('d').'_er ...

  8. R语言读取matlab中数据

    1. 在matlab中将数据保存到*.mat 文件夹 save("data.mat","data","label")#将data和label ...

  9. LinuxC语言读取文件,分割字符串,存入链表,放入另一个文件

    //file_op.c #include <string.h> #include <stdio.h> #include <stdlib.h> struct info ...

随机推荐

  1. Halcon学习笔记之支持向量机(二)

    例程:classify_halogen_bulbs.hdev 在Halcon中模式匹配最成熟最常用的方式该署支持向量机了,在本例程中展示了使用支持向量机对卤素灯的质量检测方法.通过这个案例,相信大家可 ...

  2. Nmap linux端口扫描神器

    #简介 Nmap亦称为Network Mapper(网络映射)是一个开源并且通用的用于Linux系统/网络管理员的工具.nmap用于探查网络.执行安全扫描.网络核查并且在远程机器上找出开放端口.它可以 ...

  3. 【SQL】INTERVAL YEAR TO MONTH 和 INTERVAL DAY TO SECOND

    INTERVAL YEAR TO MONTH: 作为年和月的时间间隔存储 INTERVAL DAY TO SECOND: 作为天.小时.分和秒的时间间隔存储(DAY,HOUR,MINUTE,SECON ...

  4. vue axios 请求带token设置

    API axios.js import axios from "axios"; let AUTH_TOKEN=(function(){ return localStorage.ge ...

  5. Linux之tar.gz file

    A tarball (tar.gz file) is compressed tar archive. The tar program provides the ability to create ta ...

  6. Caffe: gflag编译出现问题汇总

    1. 使用Unicode字符集: 出现问题 E:\CodeBase\ML\Caffe\ThirdPartySrc\gflags-master\src\gflags.cc(1340): error C2 ...

  7. python3:语法变动 及新特性

    python3.0 对python2.x 升级后重大语法变动,幸好留下2.7.6及后续2版本,保持一些语法兼容. 原始地址:http://hi.baidu.com/jxq61/item/3a24883 ...

  8. django分页功能,templatetags的应用

    django 将不会将得到的html代码自动转化 from django.utils.html import format_html html =''' <a href='http://www. ...

  9. element-ui按需引入

    { "name": "vue-test2", "description": "A Vue.js project", &q ...

  10. CF482D Random Function and Tree 树形DP + 思维 + 神题

    Code: #include<bits/stdc++.h> #define ull unsigned long long #define MOD 1000000007 #define ll ...