C++ 忽略n°;带ifstream的空白

C++ 忽略n°;带ifstream的空白,c++,ifstream,C++,Ifstream,我有一个数据文件,其中有很多列是双精度的,但我只想用while循环读取其中的两列 double x, y; ifstream in; double foo; while( in >> foo ) { in >> foo; in >> foo; ... in >> x; in >> y; ... something with

我有一个数据文件,其中有很多列是双精度的,但我只想用while循环读取其中的两列

    double x, y;
    ifstream in;
    double foo;
    while( in >> foo ) {
       in >> foo;
       in >> foo;
       ...
       in >> x;
       in >> y;
       ... something with x and y
    }
两个问题

1) 有没有办法不用假双福就能做同样的事情


2) 有一种方法可以做到这一点,而不必在类似于foo(或for循环)的流中使用单行代码重复n°空格?有一个内置函数可以跳转到n°空格?

我建议改为读取字符串中的整行,并使用stringstream对其进行操作,或者只使用类似于字符串类本身的find_last_函数来挑选最后两列,然后将其转换回double

输入文件的排列方式是否确保第一个输入变量开头的字节数始终相同?如果不是,在读取第二个输入变量后,下一个输入变量开始的字节数是固定值吗?我认为这在这里不重要。OP未以二进制模式读取,将跳过空白字符。