我试图跳过输入文件的第一行,可能还有第二行。
//Ignore first line, second if begins with #
in.ignore(256, '\n');
char c = in.peek();
if(c == '#')
in.ignore(256, '\n');
//read in all nums, including x, y, gs
while(in >> num) {
pic.push_back(num);
}
我的问题是,没有任何东西被推回到图片中。我是否正确使用了忽略?
答案 0 :(得分:0)
我在两种情况下测试了你的代码。
256
个字符。在这种情况下,它的核心工作。256
个字符。在这种情况下,它会中断。然而,使用DietmarKuhl建议的修复程序,代码不再破坏:
#include <iostream>
#include <limits>
using namespace std;
int main(){
cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
char c = cin.peek();
if(c == '#')
cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
int num;
//read in all nums, including x, y, gs
while(cin >> num) {
cout << num << endl;;
}
}