27

谁能解释创建配置OPEN_ALWAYS和Windows APICREATE_ALWAYSCreateFile()函数之间的区别是什么?

对我来说,他们似乎都只是“如果文件不存在则创建文件”。

4

1 回答 1

74

CREATE_ALWAYS如果文件已经存在,也会截断内容。另一方面,OPEN_ALWAYS不会破坏已经存在的文件。

以下是不同值以表格形式工作的方式:

                         |                    When the file...
This argument:           |             Exists            Does not exist
-------------------------+------------------------------------------------------
CREATE_ALWAYS            |            Truncates             Creates
CREATE_NEW         +-----------+        Fails               Creates
OPEN_ALWAYS     ===| does this |===>    Opens               Creates
OPEN_EXISTING      +-----------+        Opens                Fails
TRUNCATE_EXISTING        |            Truncates              Fails
于 2013-01-22T22:59:54.043 回答