我有以下格式。每行有两个整数,文件以“ *”结尾。如何从文件中读取两个数字。谢谢。
4 5
7 8
78 89
* //end of file
编辑
我知道读过两个数字,但不知道如何处理“ *”。如果我将每个数字存储为整数类型,然后按
cin
读取它们。但是最后一行是字符串类型。因此,问题在于我将其读取为整数,但是它是字符串,因此我不知道如何判断它是否为*。我的代码如下(显然是不正确的):
string strLine,strChar;
istringstream istr;
int a,b;
while(getline(fin,strChar))
{
istr.str(strLine);
istr>> ws;
istr>>strChar;
if (strChar=="*")
{
break;
}
istr>>a>>b;
}
最佳答案
您可以简单地从ifstream
对象中提取数字,直到失败为止。
std::ifstream fin("file.txt");
int num1, num2;
while (fin >> num1 >> num2)
{
// do whatever with num1 and num2
}