2013-07-08 115 views
1

我試圖從.dat文件中存儲數據。使用while循環和ifstream我已經設法讓它打印出我需要的東西,但我需要存儲它打印出來的內容,以便我可以對它們執行算術運算。這似乎是從打印信息到存儲信息的短暫飛躍,但我無法弄清楚。從.dat文件中存儲數據

這裏是到目前爲止,我已經得到了代碼:

int main() 
{ 
    char name; 
    cin.get(name); 

    ifstream inStream; 
    inStream.open("grade.dat"); 

    while (name != ' ') 
    { 
     inStream.get(name); 
     cout << name;  
    } 

    return 0; 
} 
+0

把你的數據到一個載體。 – paddy

+0

.dat文件包含什麼內容?此外,如果你的名字長於一個字符(我認爲他們是),你可能要考慮字符串。 – Borgleader

+0

就像水稻提到的那樣,你可以將它存儲在STL向量中。只需使用向量的push_back方法定義一個'向量輸出' – witrus

回答

3

你只需把他們都以某種數據結構。由於您使用的是C++,因此我建議您使用STL之一的數據結構。幸運的是,有人已經問過如何從文件中讀取文本並將其存儲在STL vector

Reading line from text file and putting the strings into a vector?

+1

[STL已過時;你正在使用C++標準庫](http://stackoverflow.com/questions/5205491/whats-this-stl-vs-c-standard-library-fight-all-about/5205571#5205571) – paddy

+0

@paddy - 感謝您的澄清。我不知道有人反對將STL的標準庫中的部分稱爲STL,我也沒有意識到很多人認爲STL是_entire_ C++標準庫。 – DaoWen