該塊給我在內存位置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