Windows API的CreateFile()中的OPEN_ALWAYS和CREATE_ALWAYS之间的差异

转自:http://www.voidcn.com/article/p-uzrihrua-bte.html

任何人都可以解释Windows API的 CreateFile()功能的创建配置OPEN_ALWAYS和CREATE_ALWAYS之间的区别?

 

对我来说,似乎他们只是简单地“创建文件,如果它不存在”。

 
如果文件已经存在,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
posted @ 2019-10-11 19:14  aij  阅读(2057)  评论(0编辑  收藏  举报