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中,相比讀入數組而言,防止了因對文本文件數據量未知而不知開多大內存的問題。當然,當數據量過於龐大時,要另當別論。
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或許任務能帶來一定的協助,假如有疑問大家可以留言交流。