我遇到的输入文件部分是:
3北卡罗莱纳州26-5 147 4 3
我的输入文件格式为:
INT \ t STRING \ t INT-INT \ t INT \ t INT ...
pos \ t名称\ t输赢\ t投票\ t lPos ...
这里的问题是147,并且从输入的“偶然”选项卡中将4读为1474。是否可以像Im picturing这样输入验证?当然,以下3个必须作为单独的int读取。
编辑:此行将是唯一带有“偶然”选项卡的行。所有其他的都是正确的。
到目前为止,我尝试过的所有解决方案最终都会吃掉folwoing 3,有时甚至更多,破坏了文件的读取。
while (inFile >> input.pos)
{
inFile >> input.name;
after, read it also
if ((inFile >> ws).peek() > 64 && (inFile >> ws).peek() < 91)
{
inFile >> name2;
input.name += ' ' + name2;
}
inFile >> input.wins;
inFile.ignore(1, '-');
inFile >> input.loss;
inFile >> input.vote; //PROBLEM LIES HERE
if ((inFile >> ws).peek() == '-')
{
input.lPos = 0;
inFile.ignore(1, '-');
}
else
inFile >> input.lPos;
sList.insertAfter(input); //Insert completed input
}
一如既往,在此先感谢您的任何时间或帮助,非常感谢!