程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> C++從文本文件讀取數據到vector中的辦法

C++從文本文件讀取數據到vector中的辦法

編輯:關於C++

C++從文本文件讀取數據到vector中的辦法。本站提示廣大學習愛好者:(C++從文本文件讀取數據到vector中的辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是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中,相比讀入數組而言,防止了因對文本文件數據量未知而不知開多大內存的問題。當然,當數據量過於龐大時,要另當別論。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或許任務能帶來一定的協助,假如有疑問大家可以留言交流。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved