C++中怎样在一个程序里读取两个txt文件,并分别赋给两个数组,希望能详细些?

如题所述

#include <stdio.h>

#include"string.h"

#include <stdlib.h>

#define N 100000

int main() {

/*_________________________________________________*/

    FILE *fp,*fl;

    char b[N + 1],a[N+1];

    //判断文件是否打开

    if ( (fp = fopen("D:\\文件2.txt", "rt")) == NULL||(fl = fopen("D:\\文件1.txt", "rt")) == NULL )/*这里D:\\ 文件1和2.txt 是路径;读取D盘下,名为(文件1和2)的文本文件*/ 

        puts("文件读取失败!\n");

        exit(0);

    }

    else

    {

    puts("文件读取成功");

    puts("开始计算");

    printf("\n");

    //循环读取文件1的每一行数据储存到a数组中 

    while( fgets(a, N, fl) != NULL )

{

/*__________________________________________*/

printf("以下是文件1的内容:\n");

printf("%s\n\n",a); 

/*___________________________________________*/   

    }

    //循环读取文件2的每一行数据储存到b数组中 

    while( fgets(b, N, fp) != NULL )

{

/*__________________________________________*/

printf("以下是文件2的内容:\n");

printf("%s\n",b); 

/*___________________________________________*/   

    }

   

    //结束关闭文件

    fclose(fp);

    fclose(fl);

    return 0;

}

追问

您好!如果我要提取的是这样两个txt文件,是单列的数据而且不需要把读取的数据输出应该怎样改呢?

追答

两个while中的代码删了,把下面的按位插入
这是插在文件1的while循环中的
int j=0;
double s[111];//这个数组长度尽量大一点,防止数组越界
fscanf(fl,"%lf",&s[j++]);//j是文本中数的个数
for(int i=0;i<j;i++)//这两句就是为了可视化检测结果,可以删除
printf("%lf\n",s[i]);//
————————————————————————————
这是插在文件2的while循环中的

int k=0;
double score[111];//这个数组长度尽量大一点,防止数组越界
fscanf(fp,"%lf",&score[k++]);//k是文本中数的个数;
for(int i=0;i<k;i++)//这两句就是为了,在可视化检测结果,可以删除
printf("%lf\n",score[i]);//

温馨提示:内容为网友见解,仅供参考
第1个回答  2020-04-18

要读取的txt文件内容是什么样子不太清除,所以直接给出一些建议吧。

建议你这样试试看:

    通过fstream 去读取文件

    ifstream inFile1("books.txt",ios::in|ios::binary);
    if(!inFile1) {
    cout << "error" <<endl;
    }

    Book book; // 举个例子用Book类 示范
    while(inFile1.read((char *)&book, sizeof(Book))) { //一直读到文件结束

    //这里给数组赋值

    }

    inFile1.close()关闭文件。 

注意事项:

   打开文件后需要检测inFile 是否为空,否则会出现异常。另外结束要关闭文件.

C++中怎样在一个程序里读取两个txt文件,并分别赋给两个数组,希望能详细...
if ( (fp = fopen("D:\\\\文件2.txt", "rt")) == NULL||(fl = fopen("D:\\\\文件1.txt", "rt")) == NULL )\/*这里D:\\\\ 文件1和2.txt 是路径;读取D盘下,名为(文件1和2)的文本文件*\/ { puts("文件读取失败!\\n");exit(0);} else { puts("文件读取成功");puts("开...

C语言如何同时读取两个txt文件的数据?
直接新建两个文件指针即可,理论上按照这样的方法是可以读取任意个文件的。数量并不受到硬件上的限制。具体操作的代码如下:#include <stdio.h>void main(){ int a,b,c; FILE *fp1,*fp2; if(((fp1=fopen("c:\\date1.txt","r"))==NULL)||((fp2=fopen("c:\\date2.txt","r"))==NULL)) { printf...

用c++语言读取txt文件的列数据
这个程序就是把读取到的数据,存到数组里面了,给你说明一下: 首先定义两个数组: 1 2 float n1[100]; float n2[100]; [1,2,3,4] 是存在了数组 n1 里面 [0.0015,0.0016, 0.1050,0.1049] 是存在了数组 n2 里面 这句是读取TXT到数组,count是从0到3读取四行: 1 inFile>>n1[count]>>n2[count]; 这句...

C++编程读取TXT数据,将其赋值到数组,而后进行计算
最简单的方式是用freopen,使用了这个函数之后所有的cin\/cout就会从文件中读出或者写入,或者也可以用fstream;include <iostream>#include <cstdio>#define maxn 10000using namespace std;struct m{ int x; int y; int z;}a[maxn];int main(){ freopen("\/*文件名*\/","r"\/*代...

c++中怎么从一个文本文件中取出两列存入到另一文本文件中?
思路:用数组读取txt内容,对数组进行操作。我把三个文件内容都输出到屏幕了。include "stdafx.h"include <fstream> include <iostream> include <string> const int N = 5;\/\/a.txt行数 const int M = 5;\/\/c.txt行数 using namespace std;int main(){ ifstream fin("a.txt");ofstream fo...

如何用C++对一个文本文档里面的许多数据进行逐行读取,并放入数组中
推荐使用文件流来读取。如果你的数据是用空格、制表符和换行符来分隔的,那么程序可以写的很简单。直接逐行用fin就可以了。如果你的数据是用逗号或者其他字符来分隔,用换行来分行的,那么你需要在循环中写入两次读入,第一次用于读入数据,第二次用于跳过字符。如果数据中间的分隔字符是不规范、不一致、...

c++如何读取txt的数据(一行一行的读,从第一行读到最后一行)要详细代 ...
C++读取txt文本数据并一行一行的读方法如下:1、使用C++提供输入输出流的getline函数可以实现整行读取;完整代码如下:include<iostream>#include<fstream>using namespace std;int main(){ \/\/ 定义输入文件流类对象infileifstream infile("test.txt",ios::in);if(!infile){ \/\/ 判断文件是否存在 ...

C++如何逐行读取txt文件,并将读取出来的数据进行运算导入到另一个文件...
1、首先我们在电脑上新建一个文件夹,名称叫txt2array。然后,打开我们的devc++,新建一个控制台c++项目,名称也叫txt2array。2、将项目文件及源代码文件以及我们演示用的数据文件都存放在txt2array文件夹中。3、向数据文件中写入一些演示用数据。4、读取文件。输入如下代码:运行下,看来我们读取成功了...

C\/C++如何读取TXT文件的行数和把TXT文件的内容存到数组中
C语言读取TXT文件的行数并把把TXT文件的内容存到数组中,需要根据每行的内容(字符,数字,字符串)选取fgets、fscanf或者fgets。这里假设每行是一个字符串,每行不超过127个字符(用数组存字符串,最后一位存'\\0'),选取fgets进行读取。示例代码如下:include <stdio.h>#include <stdlib.h>int main...

C++一个项目里有两个CPP文件,想在一个CPP文件里调用另一个CPP文件的计...
C++里面是有头文件的,标准的做法是:头文件里面放函数声明,cpp放函数具体实现。按照你的描述应该可以用一个.h头文件放全部函数的声明,然后在1.cpp里放一个函数,2.cpp里放另一个函数,我们把1.cpp作为程序的入口,作为数据源,在这里调用2.cpp里的函数,这个函数返回计算结果。注意,两个cpp都要...

相似回答