Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在C+中读取每行2个数字+; 我的C++很生疏。我想知道以以下格式读取输入的最佳方式是什么: 400 200 138 493 ..._C++_File_Io_Ifstream - Fatal编程技术网

在C+中读取每行2个数字+; 我的C++很生疏。我想知道以以下格式读取输入的最佳方式是什么: 400 200 138 493 ...

在C+中读取每行2个数字+; 我的C++很生疏。我想知道以以下格式读取输入的最佳方式是什么: 400 200 138 493 ...,c++,file,io,ifstream,C++,File,Io,Ifstream,我目前使用while(cin.peek()!=-1)检查EOF,然后在其中,我使用while(cin.peek()!='\n')检查换行符。这对于全文阅读来说很好,但是我如何将其限制为2个数字和/或仅获取这2个数字呢 int num1,num2; while(cin>>num1>>num2) { //... } 或 字符串行; int num1,num2; 细流ss; while(getline(cin,line)) { ssnum1>>num2; //...

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

int num1,num2;
while(cin>>num1>>num2)
{
     //...
}

字符串行;
int num1,num2;
细流ss;
while(getline(cin,line))
{
ssnum1>>num2;
//...
}

字符串行;
int num1,num2;
细流ss;
while(getline(cin,line))
{
ssnum1>>num2;
//...
}

while(std::getline(std::cin,some_string)){parse(line);}
然后你可以解析行,例如,创建一个
std::stringstream()
并使用
操作符>
将数字提取为两个
int
。尽管另一个答案有效,我还是要尝试一下,谢谢<代码>while(std::getline(std::cin,some_string)){parse(line);}然后你可以解析这行,例如,创建一个
std::stringstream()
并使用
操作符>
将数字提取成两个
int
。尽管另一个答案有效,我还是要尝试一下,谢谢!这就够了,谢谢。虽然如果我碰巧用3个数字来尝试,它会挂起等待第4个数字。但我认为我使用的输入保证是2个数字。谢谢。虽然如果我碰巧用3个数字来尝试,它会挂起等待第4个数字。但我认为我使用的输入保证是2个数字。
string line;
int num1,num2;
stringstream ss;
while(getline(cin,line))
{
    ss<<line;
    ss>>num1>>num2;
    //...
}