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 设备