Мне нужно прочитать из файла, а затем разбить строку на 3 строки. Формат следующий: A first_Secod_Third (три знака подчеркивания). Это домашнее задание, и они предлагают нам использовать getline и игнорировать. так что я:
main()
ifstream inf("file.txt")
while(inf)
{inf >> class1;
cout << class1;
}
class THECLASS
{string a, b, c;
public:
friend void operator>>(ifstream &inf, THECLASS &class1)
{getline(inf, class1.a, '_');
inf.ignore();
inf.ignore();
[if I put getline class1.b, the whole line will go into it, overwriting .a]
}
and in operator<<, I have
os << class1.a << class1.b;
return os;
Но все, что я получаю, когда я cout ‹‹ class1, это все три поля входного файла без _, каждое на новой строке. Когда я попытался использовать функцию get(), компилятор не распознал ее, хотя я объявил fstream. Каков общий алгоритм действий?