怎样用C++从txt文件中读取数据写入数组

在工作中我们经常会遇到从外部文件读取数据存入数组以供我们进行运算,那么这中间可能会存在两个操作,一个是读取文件,这个是肯定的;另一个,有可能还要进行数据类型的转换,因为从文件中读取的内容肯定都是字符型数据,那么字符型数据不能直接进行数学运算,因此需要进行转换。今天我们就来看看怎么能够完成该操作。

一、新建一个c++项目

  • 01

    首先我们在电脑上新建一个文件夹,名称叫txt2array。 然后,打开我们的devc++,新建一个控制台c++项目,名称也叫txt2array。

  • 02

    将项目文件及源代码文件以及我们演示用的数据文件都存放在txt2array文件夹中。

  • 03

    向数据文件中写入一些演示用数据。

二、相关标准库的使用

  • 01

    在简介中已经说了,两个操作,一是读文件,二是类型转换。这两个操作,c++的标准库已经给我们准备好了,而且使用简单。 我们先来看看标准库的输入输出类的关系:

  • 02

    上图的继承关系已经很清晰了。 这里多说一句,很多人以为iostream是一个单独的类,因为我们只要使用了cin和cout、cerr等就会#include <iostream>。实际上cin、cout都是iostream的父类istream以及ostream的类对象,iostream实际上只有几行,主要是extern了这几个类对象而已,有兴趣的可以去看看源代码。 好了,第一个操作读文件,我们可以使用ifstream或者fstream,前者提供了读取操作,后者可以同时进行读写。 我们主要看看ifstream类。看看它的构造函数:

  • 03

    下面来看看字符串类型转整型的类,主要是istringstream类。

  • 04

    istringstream的构造函数页面提供了一个字符串转数字的例子。

三、编写实现代码

  • 01

    我们知道了要使用的类库以及操作,下面我们来按步操作编写代码。 首先,包含相应的头文件。 这里我们包含的是fstream以及sstream类,具体可以看第一个图中的类关系。

  • 02

    操作一:读取文件。 输入如下代码: char line[256]; int intarr[5]; ifstream ifile("data.txt"); while(ifile.good()) { ifile.getline(line,256); puts(line); } 运行下,看来我们读取成功了。ifile.good()会返回当前流的状态。

  • 03

    操作二:将数据存入数组,并进行类型转换。 输入如下代码: char line[256]; int intarr[5]; int linenum=1; ifstream ifile("data.txt"); while(ifile.good()) { int sum=0; ifile.getline(line,256); //puts(line); istringstream iss(line); iss>>intarr[0]>>intarr[1]>>intarr[2]>>intarr[3]>>intarr[4]; cout<<"第" <<linenum<<"行"<<endl; for(int i=0;i<5;++i) { sum+=intarr[i]; cout<<intarr[i]<<endl; } cout<<"第" <<linenum<<"行和:"<<sum<<endl; linenum++; }

  • 04

    运行下程序看看。 可以看到,我们完成了读取文件数据,并将其转为数字保存到数组中,可以求和证明了我们的转换是没问题的。

(0)

相关推荐

  • 怎么批量删除txt文件中的空行?

    怎么批量删除txt文件中的空行?下面,给大家分享一个简介的方法: @echo off set n=1 :3 if exist d:new_%n%.txt (set /a n+=1&goto 3 ...

  • 如何将txt文件中的tab符号替换掉

    一个txt文件中的出现了许多的tab符号,并且这些tab符号并不是我们所需要的,我们就需要替换掉他们.以下是替换的方法. 操作方法 01 点击你要操作的txt文件. 02 打开后,你会看到一个个很大像 ...

  • 如何用matlab处理excel文件中的数据?

    matlab的另外一个好处是我们可以无需导入直接处理excel中的数据,下面我就向大家介绍一下如何用matlab处理excel文件中的数据. 操作方法 01 首先生成一个带有数据的excel文件,代码 ...

  • 在Stata中如何浏览数据文件中的数据

    在Stata中如何浏览数据文件中的数据并进行简单的数据管理,本文对其进行简要介绍. 操作方法 01 浏览数据文件中的数据.点击快捷工具栏中的 Data Editor(Browse)或者菜单 Data| ...

  • 易语言如何把编辑框内容保存/读取到txt文件中

    易语言如何不使用通用对话框把编辑框内容直接保存到指定的txt文本里,或者直接读取出来到编辑框里呢?下面小驴就带各位易语言初学者来了学习下怎么操作: 操作方法 01 1.首先我们得下载下易语言编程软件, ...

  • MATLAB怎么读取excel文件中的数据?

    下面我就通过实例介绍一下MATLAB如何导入excel数据. 读取sheet1中的所有数据 我们以03版excel为例,假设excel中数据为 默认这些文本以及数字都放在sheet1中,我们将此exc ...

  • Qt和Excel:Qt从excel单元格中读取数据的方法

    Qt是应用程序开发常用的开发框架,但桌面编程中很多时候对用到excel的操作,这种情况怎么处理呢?Qt提供了一套调用com组件的方法,本文就介绍一下,如何使用Qt实现对excel的操作.文中采用Qt4 ...

  • 将TXT文件导入到Excel表格中不混乱的方法

    使用Excel过程中想必你会遇到这种情况,就是把一些文件导入到Excel表格当中,但是许多文本文件字符不规则,不好排列,导入到Excel表格当中看起来十分混乱。针对这个问题下面有个不错的解决方法,大家 ...

  • Python打开并读取TXT(Python读取文件内容)

    今天说说怎么在python中读取txt中的内容.今天爬虫抓到了一个新闻,放在D盘里对应日期的TXT文件中了,现在我们把他读取出来.每执行一次,f.readline(),就会读取下一行,我们只要做一个循 ...