Как организовать переход на "новую строку" в файле (во входном потоке) при считывании.
Если использовать istream& ignore ( streamsize n = 1, int delim = EOF ), то первой переменной автоматически обрезается(не важно на сколько, сам факт) размер входной строки.
Другого способа просто нет. Nicolai M. Josuttis (автор "The C++ Standard Library: A Tutorial and Reference") предлагает определить вот такой манипулятор ignoreLine, который будет пропускать символы до конца строки:
#include <iostream>
#include <fstream>
#include <limits>
using namespace std;
template <class charT, class traits>
inline std::basic_istream<charT,traits>&
ignoreLine (std::basic_istream<charT,traits>& strm)
{
strm.ignore(std::numeric_limits<int>::max(),strm.widen('\n'));
return strm;
}
// использовать - так:
int main()
{
ifstream ifs ("/home/volvo/test.txt" , ifstream::in);
int n;
ifs >> n;
cout << n << endl;
ifs >> ignoreLine;
ifs >> n;
cout << n << endl;
ifs.close();
return 0;
}