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