Разница между OPEN_ALWAYS и CREATE_ALWAYS в CreateFile() для Windows API
Может ли кто-нибудь объяснить, какая разница между настройками создания OPEN_ALWAYS и CREATE_ALWAYS функции CreateFile() API окон
Мне кажется, что они оба просто "создают файл, если он еще не существует".
Ответ 1
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