0
我一直在寻找几个小时,但尚未遇到我的问题。我从一个文件中的第一行中读取数据是电影的数量后,该线将是电影片名,导演等问题与getline C++
例子:
2
Friday Night Lights: Upcoming;Bond, James;2061;128;93000000;871530324
Friday Night Lights: Upcoming;Bond, James;2061;128;93000000;871530324
,但我似乎无法得到getline函数正常工作。我尝试了几种不同的方式,但它不起作用。
struct MovieData{
string movieTitle;
string director;
int yearReleased;
double runningTime;
double costOfProduction;
double revenueGenerated;
double profitOrLoss;
};
void storingMovieData(ifstream file, MovieData array[], int numberOfMovies);
int main(){
char fileName[50];
MovieData array[];
cout << "Enter file name: ";
cin.getline(fileName, 50);
int numberOfMovies;
ifstream file(fileName);
file >> numberOfMovies;
storingMovieData(file, array, numberOfMovies)
file.close();
return 0;
}
void storingMovieData(ifstream file, MovieData array[], int numberOfMovies){
for(int i = 0; i < numberOfMovies; i++){
getline(file, array[i].movieTitle, ';');
getline(file, array[i].director, ';');
getline(file, array[i].yearReleased, ';');
getline(file, array[i].runningTime, ';');
getline(file, array[i].costOfProduction, ';');
getline(file, array[i].revenueGenerated, ';');
getline(file, array[i].profitOrLoss, ';');
}
}
我的问题的任何帮助,将不胜感激!
调用'istream :: getline'后'failbit'的值是多少?你使用了一个逐步调试器吗? – Dai