Я сталкиваюсь с проблемой, когда в массиве сохраняется только строка до первого пробела каждой строки в файле. Следующая строка в строке полностью удаляется. Таким образом, «Нью-Йорк» становится «новым», а Йорк просто опущен.
void finName(string ARnames[], int &num)
{
num=0;
string go;
ifstream infile;
infile.open("Teams.txt");
while(num<29 && getline(infile, go)>>ARnames[num])
{
num++;
}
infile.close();
}