C++从文本文件读取数据到vector中的方法

 更新时间:2016年10月24日 11:50:23   作者:HF飞哥  
这篇文章主要给大家介绍了利用C++如何从文本文件读取数据到vector中,文章通过实例给出示例代码,相信会对大家的理解和学习很有帮助,有需要的朋友们下面来一起看看吧。

前言

大家应该都只奥vector(向量)是 C++中的一种数据结构,确切的说是一个类。它相当于一个动态的数组,当程序员无法知道自己需要的数组的规模多大时,用其来解决问题可以达到最大节约空间的目的。这篇文章介绍的是C++从文本文件读取数据到vector中的方法,下面话不多说,直接来看示例代码吧。

如题,要将如下文本文件读进vector中

示例代码如下

#include <iostream>
using namespace std;
#include <cmath>
#include <vector>
#include <fstream>

//将文本文件中得数据读入vector中,并返回一个vector。
vector<int> *InputData_To_Vector()
{
  vector<int> *p = new vector<int>;
  ifstream infile("/Users/……/inputdata.txt");
  int number;
  while(! infile.eof())
  {
    infile >> number;
    p->push_back(number);
  }
  p->pop_back(); //此处要将最后一个数字弹出,是因为上述循环将最后一个数字读取了两次
  return p;
}

inline int Num_Square(int n)
{
  return n*n;
}

int Sum_Of_Num_Square(vector<int> *p)
{
  int Sum2 = 0;
  vector<int>::iterator it;
  for(it=p->begin(); it!=p->end(); it++)
  {
    Sum2 += Num_Square(*it);
  }
  return Sum2;
}

//调用传入的vector
int main(int argc, const char * argv[]) {
  // insert code here...
  vector<int> *file_to_vector = InputData_To_Vector();
  cout<<"sum2="<<Sum_Of_Num_Square(file_to_vector)<<endl;
  return 0;
}

如此,便实现了将文本文件数据读入vector中,相比读入数组而言,避免了因对文本文件数据量未知而不知开多大内存的问题。当然,当数据量过于庞大时,要另当别论。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

相关文章

  • C语言实现进制转换函数的实例详解

    C语言实现进制转换函数的实例详解

    这篇文章主要介绍了C语言实现进制转换函数的实例详解的相关资料,这里提供实现实例帮助大家实现改功能,需要的朋友可以参考下
    2017-08-08
  • matlab遗传算法求解车间调度问题分析及实现源码

    matlab遗传算法求解车间调度问题分析及实现源码

    这篇文章主要为大家介绍了matlab遗传算法求解车间调度问题解析,文中附含详细实现源码,有需要的朋友可以借鉴参考下,希望能够有所帮助
    2022-02-02
  • C++同步线程实现示例详解

    C++同步线程实现示例详解

    这篇文章主要介绍了C++同步线程实现示例,线程同步是指同一进程中的多个线程互相协调工做从而达到一致性。之因此须要线程同步,是由于多个线程同时对一个数据对象进行修改操做时,可能会对数据形成破坏
    2022-11-11
  • 详解Qt如何加载libxl库

    详解Qt如何加载libxl库

    这篇文章主要介绍了详解Qt如何加载libxl库,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • 使用C语言实现三子棋小游戏

    使用C语言实现三子棋小游戏

    这篇文章主要为大家详细介绍了使用C语言实现三子棋小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-08-08
  • C++实现聊天程序

    C++实现聊天程序

    这篇文章主要为大家详细介绍了C++实现类似QQ聊天程序,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-07-07
  • C++实现LeetCode(13.罗马数字转化成整数)

    C++实现LeetCode(13.罗马数字转化成整数)

    这篇文章主要介绍了C++实现LeetCode(13.罗马数字转化成整数),本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-07-07
  • C++ OpenCV实战之形状识别

    C++ OpenCV实战之形状识别

    本案例通过使用OpenCV中的approxPolyDP进行多边形近似,进而进行基础形状识别(圆、三角形、矩形、星形…),快跟随小编一起动手尝试一下
    2022-07-07
  • 浅析C/C++ 中return *this和return this的区别

    浅析C/C++ 中return *this和return this的区别

    return *this返回的是当前对象的克隆或者本身,return this返回当前对象的地址,下面通过本文给大家介绍C/C++ 中return *this和return this的区别,感兴趣的朋友一起看看吧
    2019-10-10
  • Matlab实现绘制玫瑰线的示例代码

    Matlab实现绘制玫瑰线的示例代码

    这篇文章主要为大家介绍了如何利用Matlab绘制3好看的玫瑰线,文中的示例代码讲解详细,对我们学习Matlab有一定帮助,感兴趣的小伙伴可以动手试一试
    2022-08-08

最新评论