(красивое) решение найдено! оказывается, getline возвращает поток, чем мы и воспользуемся:
Code:
string s;
while(!getline(in, s, '.').eof())
{
s += '.';
// ...
}
именно отсутсвие этого момента мне и мешало - не хотелось писать что-то вроде
Code:
string s;
getline(in, s, '.');
while(!in.eof())
{
// ...
getline(in, s, '.');
}
или то же самое через for.
кроме того, конкретно моя задача решается еще проще - т. к. я потом должен делать разбор строки s, я могу действительно забывать о '.' и разбор организовывать с учетом этого момента (т. е. отсутствие точки на конце не считать ошибкой). но это уже мелочь.
всем: научно не доказано, но обычно эффективные программы на c++ оказываются еще и весьма красивыми

не забывайте об этом!