Я пытаюсь прочитать файл CSV, и у меня есть три поля, которые я должен прочитать, и самое последнее поле является целым числом, и я вылетал в последней строке файла с функцией стои, так как естьнет символа новой строки, и я не уверен, как определить, когда я в последней строке.Первые два оператора getline читают первые два поля, и мой третий getline читает и ожидает целое число, и мой разделитель для этого только '\ n', но это не будет работать для самой последней строки ввода, и мне было интересноЕсть ли обходной путь для этого?
Мои типы полей, которые я ожидаю, это [int, string, int], и я должен включить пробелы в среднее поле, поэтому я не думаю, что использование stringstream для этого будет эффективным
while (! movieReader.eof() ) { // while we haven't readched end of file
stringstream ss;
getline(movieReader, buffer, ','); // get movie id and convert it to integer
ss << buffer; // converting id from string to integer
ss >> movieid;
getline(movieReader, movieName, ','); // get movie name
getline(movieReader, buffer, '\n');
pubYear = stoi(buffer); // buffer will be an integer, the publish year
auto it = analyze.getMovies().emplace(movieid, Movie(movieid, movieName, pubYear ) );
countMovies++;
}