Can anyone explain what the difference is between the creation dispositions OPEN_ALWAYS
and CREATE_ALWAYS
of the CreateFile() function of the windows API?
To me it seems that they both simply 'create the file if it does not already exist'.
CREATE_ALWAYS
also truncates the contents if the file already exists. On the other hand, OPEN_ALWAYS
will not clobber an already existing file.
Here's how the different values work in tabular form:
| 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