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

Posted 如风

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

以上是关于Windows API的CreateFile()中的OPEN_ALWAYS和CREATE_ALWAYS之间的差异的主要内容,如果未能解决你的问题,请参考以下文章

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

CreateFile() 在 Windows XP 中工作,但在 Windows 7 中失败,返回句柄无效

CreateFile 无法在 Windows 中打开 HID 设备

Qt 中的 Win32 API

windows编程中的CreateFile 出现5的错误解决方法

windows编程中的CreateFile 出现5的错误解决方法