该块给我在内存位置0x0013f59c处的错误消息std :: out_of_range。 问题来自3条中间线(我放了星号)。代码在完美工作之前。我还亲自检查了每行都包含正确的前6个字符。std :: out_of_range在内存位置
if (openfile.is_open() && newfile.is_open())
{
while (! openfile.eof())
{
getline(openfile, originaldata);
string day(originaldata,6,2); *
string month(originaldata,4,2); *
string year(originaldata,0,4); *
string data=day+"/"+month+"/"+year;
}
}
那么你的文件中有什么?当引发异常时,originaldata的值是多少? – john 2013-04-24 15:26:07
为了防止这些错误,您应该在提供有关它的详细信息之前验证'originaldata'。这被称为*鲁棒性*。 – 2013-04-24 19:31:31