gpt4 book ai didi

c++ - Ifstream 在打开文件时崩溃程序

转载 作者:行者123 更新时间:2023-11-30 04:27:17 28 4
gpt4 key购买 nike

我缩小了我的代码范围,我找到了问题的根源,就是我打开文件的时候。该文件确实存在,编译时我没有收到任何警告或错误。

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 对象的指针,但您从未为它分配一个 ifstream 来指向它。要解决此问题,请考虑对其进行堆栈分配:

ifstream in;
in.open(args[1],ios::binary|ios::in);
//do stuff
in.close();

一般来说,您通常不需要动态分配对象,除非您希望它们的生命周期比创建它们的函数长。

希望这对您有所帮助!

关于c++ - Ifstream 在打开文件时崩溃程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11039618/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com