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