2013-09-24 168 views
0

我需要從文件讀取並存儲在不同數組中的代碼!從文件中讀取並存儲在不同的數組中

爲例如:

保羅23 54

約翰32 56

我的要求如下:我需要存儲在字符串數組paul,john,並且在一個整數數組23,32;和另一個int陣列中的54,56類似。

我從文件讀取輸入並打印它,但我無法保存在3個不同的陣列中。

int main() 
{ 
    string name; 
    int score; 
    ifstream inFile ; 

    inFile.open("try.txt"); 
    while(getline(inFile,name)) 
    { 
     cout<<name<<endl; 
    } 
    inFile.close();  

} 

那麼好心建議我要這個幹什麼一些邏輯,我會非常感謝...!

+0

你丟失的數據結構,如;數組,Arraylist,鏈表和向量。您需要數據結構來保存輸入數據並進行存儲。 – Juniar

回答

0

我假設你是編程新手?還是新的C++?所以我提供了示例代碼來幫助您開始。 :)

#include <string>; 
#include <iostream> 
#include <vector> 
using namespace std; 

int main() { 
    vector<string> name; 
    vector<int> veca, vecb; 
    string n; 
    int a, b; 

    ifstream fin("try.txt"); 
    while (fin >> n >> a >> b) { 
     name.push_back(n); 
     veca.push_back(a); 
     vecb.push_back(b); 
     cout << n << ' ' << a << ' ' << b << endl; 
    } 
    fin.close() 

    return 0; 
} 
0

你可以試試下面的代碼:

#include <string> 
#include <vector> 

#include <iostream> 
#include <fstream> 

int main() 
{ 
    std::string fileToRead = "file.log"; 
    std::vector<int> column2, column3; 
    std::vector<std::string> names; 
    int number1, number2; 
    std::string strName; 

    std::fstream fileStream(fileToRead, std::ios::in); 
    while (fileStream>> strName >> number1 >> number2) 
    { 
     names.push_back(strName); 
     column2.push_back(number1); 
     column3.push_back(number2); 
     std::cout << "Value1=" << strName 
      << "; Value2=" << number1 
      << "; value2=" << number2 
      << std::endl; 
    } 
    fileStream.close(); 
    return 0; 
} 

的想法是在文件中的第一列中讀取到一個字符串(則strName),然後把它推到一個向量(地名)。同樣,第二列和第三列先讀入number1和number2,然後分別推入名爲column1和column2的矢量中。

運行它,會得到以下結果:

Value1=paul; Value2=23; value2=54 
Value1=john; Value2=32; value2=56 
+0

謝謝我會盡力! –

相關問題