在我的程序中,fin
是一个ifstream
对象并且song
是一个string
.
当程序运行时,它会打开 music.txt 并从文件中读取。我尝试阅读每一行:getline(fin,song);
我已经尝试了所有变体,getline
但它在开始拾取字符之前一直忽略每行的前 10 个左右字符。例如,如果歌曲名称是“songsongsongsongsongname”,它可能只会选择“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;
}
.....}