文件操作全解析:临时文件、二进制文件更新与内容修改
1. 临时工作文件的使用
在编程过程中,我们常常只在程序运行期间需要一个工作文件,用于存储中间结果,程序结束后就可以将其丢弃。例如本章中计算质数的程序,在计算过程中才需要使用该文件。对于临时文件的使用,有两个标准函数可供选择,还有可选的改进版本,它们各有优缺点。
1.1 创建临时工作文件
1.1.1 标准函数 tmpfile()
该标准函数会自动创建一个临时二进制文件,其原型如下:
FILE *tmpfile(void);
此函数无需参数,返回一个指向临时文件的指针。若因某些原因(如磁盘已满)无法创建文件,函数将返回 NULL
。该二进制文件以更新模式创建并打开,可进行读写操作,但显然要先写后读,因为只能读取已写入的数据。程序退出时,文件会自动删除,无需担心遗留问题,而且我们也无需知道文件的具体名称。
1.1.2 可选函数 tmpfile_s()
创建临时二进制文件并以更新模式打开的可选函数原型为:
errno_t tmpfile_s(FILE * restrict * restrict pfile);
该函数会将临时文件的流指针存储在 pfile
中,若无法创建文件则存储 NULL
。传递的参