В моей программе fin
- это объект ifstream
, а song
- это string
.
. Когда программа запускается, она открывает music.txt и читает файл.Я пытаюсь прочитать каждую строку с помощью: getline(fin,song);
Я перепробовал все варианты getline
, но он продолжает игнорировать первые 10 или около того символов каждой строки, прежде чем она начнет собирать символы.Например, если название песни «songongsongsongsongname», она может выбрать только «songname».
Любые идеи?
Вот упрощенный код:
void Playlist::readFile(ifstream &fin, LinkedList<Playlist> &allPlaylists, LinkedList<Songs*> &library)
{
string song;
fin.open("music.txt");
if(fin.fail())
{
cout << "Input file failed. No saved library or playlist. Begin new myTunes session." << endl << endl;
}
else
{
while(!fin.eof() && flag)
{
getline(fin, song);
cout << song << "YES." << endl;
}
.....}