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

 我来答
小黑哎啊
科技发烧友

2020-04-18 · 智能家居/数码/手机/智能家电产品都懂点
知道大有可为答主
回答量:1642
采纳率:74%
帮助的人:360万
展开全部

#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文件,是单列的数据而且不需要把读取的数据输出应该怎样改呢?

Getline
2020-04-18 · 科技领域创作者
Getline
采纳数:405 获赞数:2705

向TA提问 私信TA
展开全部

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

建议你这样试试看:

  1. 通过fstream 去读取文件

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

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

    //这里给数组赋值

    }

  2. inFile1.close()关闭文件。 

注意事项:

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

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式