对磁盘常数
Microsoft 专用
#include <stdio.h>
备注
这些特定于 Microsoft 的常数指定缓冲区与打开文件是否刷新到操作系统缓冲区或到磁盘。 该模式在指定读/写访问 (“r”、 “w”、 “a”、 “r+”、 “w+”, “a+”) 的类型该字符串中。
对磁盘模式如下:
c
写入指定缓冲区的未记录的内容向磁盘。 此提交到磁盘功能仅出现在显式调用 fflush 或 _flushall 功能。 ,在处理敏感数据时,此模式很有用。 例如,因此,如果程序终止,在对 fflush 或 _flushall,您的调用可确保后期绑定数据到达了操作系统的缓冲区。 但是,在中,除非文件打开与 c 选项,数据可能不允许到磁盘,如果操作系统还停止。n
写入指定缓冲区的未记录的内容对操作系统的缓冲区。 操作系统可以缓存数据然后确定一个最佳时间写入到磁盘。 在许多情况下,此行为为有效的程序行为以使。 但是,因此,如果数据保留重要 (例如银行事务或飞机票信息) 请考虑使用 c 选项。 n 模式是默认设置。备注
c 和 n 选项不为 ANSI 标准的组成部分 fopen的,因此,而是 Microsoft 扩展,不应使用 ANSI 可移植性需位置。
使用现有代码中对磁盘功能
默认情况下,对 fflush 或 _flushall 库函数将数据写入操作系统维护的缓冲区。 操作系统实际确定最佳时间将数据写入到磁盘。 运行库的对磁盘函数可确保重要数据直接向磁盘写入而不是操作系统的缓冲区。 可以提供此功能现有程序,而不会复盖它通过将其对象文件与 COMMODE.OBJ。
在产生的可执行文件,对 fflush 写入缓冲区的内容直接到磁盘,并调用 _flushall 编写任何缓冲区内容保存到磁盘。 这些功能是 COMMODE.OBJ 影响的一部分。
特定于 Microsoft 的结尾