我希望我的程序打开一个文件,如果它存在,或者创build文件。 我想下面的代码,但我得到一个debugging断言freopen.c。 我会使用fclose更好,然后立即打开吗? FILE *fptr; fptr = fopen("scores.dat", "rb+"); if(fptr == NULL) //if file does not exist, create it { freopen("scores.dat", "wb", fptr); }
首先,我知道用fopen()打开一个文件而不closures它是非常不负责任的,而且是不好的forms。 这只是好奇心,所以请幽默我:) 我知道,如果一个C程序打开一堆文件,并从不closures它们中的任何一个,最终fopen()将开始失败。 有没有其他副作用,可能会导致代码本身之外的问题? 例如,如果我有一个程序打开一个文件,然后退出而不closures它,这可能会导致运行该程序的人的问题? 这样的程序会泄漏任何东西(内存,文件句柄)? 一旦程序结束,是否可以再次访问该文件? 如果该计划连续运行多次,会发生什么?