27

OPEN_ALWAYS作成処理とWindows APICREATE_ALWAYSCreateFile()関数の違いを説明できる人はいますか?

私には、どちらも「ファイルがまだ存在しない場合は作成する」だけのようです。

4

1 に答える 1

74

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
于 2013-01-22T22:59:54.043 に答える