0
我想讀取文本文件中的一部分行。 文本文件包含電影的數量,電影的獎勵數量,電影提名獎項的次數以及電影名稱。文本文件看起來像這樣:如何在C++中讀取txt文件中的行的一部分
2
1935 1 3
The Dark Angel
1935 4 6
The Informer
我試圖用函數getline()函數,但是當我編譯它,沒有什麼,但垃圾值。
這是我寫
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
ifstream infile;
int numofmovies;
infile.open("old_movies.txt");
infile >> numofmovies;
int numawards[numofmovies], nomination[numofmovies], year[numofmovies];
string moviename[numofmovies];
for (int i = 0 ; i < numofmovies ; i++)
{
infile >> year[i] >> numawards[i] >> nomination[i];
getline(infile, moviename[i]);
cout <<moviename[i]<< endl;
}
return 0;
}
是否有其它方法來完成這不使用矢量?因爲我的教授完全跳過了矢量話題。謝謝 – CowEatsGrass 2014-10-19 20:51:05
@CowEarsGrass你可以簡單地在這個for循環中使用一個局部變量,因爲你只是打印它。如果您沒有任何其他用途的數據,請隨時這樣做。 – liran63 2014-10-19 20:57:29
@CowEatsGrass「我的教授完全跳過了這個向量主題」 - 這應該是一個需要考慮的證明。除了'std :: string'之外,類模板'std :: vector <>'很容易成爲整個標準C++庫中最常用的模板,並且* *都可以很好地與這個賦值一起玩。如果教師尚未覆蓋它,請*在*他/她*將*覆蓋它時詢問*,並仔細衡量對該問題的回答,不管它是什麼。 – WhozCraig 2014-10-22 02:41:32