在 C++ 中读取每行有 2 个数字的行

mut*_*y91 2 c++ io file ifstream

我对 C++ 很生疏。我想知道读取以下格式的输入的最佳方法是什么:

400 200
138 493
...
Run Code Online (Sandbox Code Playgroud)

我目前用于while(cin.peek()!=-1)检查 EOF,然后在其中检查while(cin.peek()!='\n')换行符。这对于阅读整行文本来说很好,但是我如何将其限制为 2 个数字和/或仅获取这 2 个数字?

Ter*_*ran 5

int num1,num2;
while(cin>>num1>>num2)
{
     //...
}
Run Code Online (Sandbox Code Playgroud)

或者

string line;
int num1,num2;
stringstream ss;
while(getline(cin,line))
{
    ss<<line;
    ss>>num1>>num2;
    //...
}
Run Code Online (Sandbox Code Playgroud)