0
我縮小了我的代碼範圍,發現問題的根源在於打開文件的時間。 該文件確實存在,編譯時我沒有收到任何警告或錯誤。Ifstream在打開文件時崩潰程序
int main(int argc, const char* args[])
{
cout << "Wellcome" << endl;
cout << args[1];
ifstream exists(args[1]);
if(!exists)
{
printf("FILE NOT FOUND");
return 1;
}
exists.close();
ifstream* in;
in->open(args[1],ios::binary|ios::in);
//do stuff
in->close();
return 0;
}
絕對不需要使用指向'ifstream'的指針。讓班級通過自動存儲時間來分配工作,並在[RAII]上進行閱讀(http://en.wikipedia.org/wiki/Resource_Acquisition_Is_Initialization) –