小编mks*_*mks的帖子

如果在不执行fclose()的情况下退出程序会发生什么?

题:

如果我退出程序而不关闭文件会发生什么?

是否有一些不好的事情发生(例如某些操作系统级文件描述符数组没有被释放..?)

在两种情况下答案都是一样的

  • 程序退出
  • 意外崩溃

代码示例:

程序退出我的意思是这样的:

int main(){
    fopen("foo.txt","r");
    exit(1);
}
Run Code Online (Sandbox Code Playgroud)

意外崩溃我的意思是这样的:

int main(){
    int * ptr=NULL;
    fopen("foo.txt","r");
    ptr[0]=0;  // causes segmentation fault to occur
}
Run Code Online (Sandbox Code Playgroud)

PS

如果答案是编程语言依赖,那么我想知道C和C++.

如果答案取决于操作系统,那么我对Linux和Windows行为感兴趣.

fopen file exit

9
推荐指数
1
解决办法
3271
查看次数

标签 统计

exit ×1

file ×1

fopen ×1