用于写入的实用open()文件模式

时间:2015-05-11 02:18:30

标签: c file-io posix

open() C POSIX函数中,有各种标志用于控制文件模式,例如读/写,以及指定以下情况:

  • 您可能希望文件存在
  • 您可能希望该文件不存在
  • 如果文件存在,您可能希望截断该文件
  • 您可能希望追加到文件的末尾(如果它存在)

为此,我们只对写作模式(O_WRONLY感兴趣。有趣的标志是O_APPENDO_CREATO_EXCLO_TRUNC,这里列出了: http://pubs.opengroup.org/onlinepubs/7908799/xsh/open.html

在我看来,您可能只想写作的实用选项是:

  • 文件不得存在,但会被创建:O_EXCL | O_CREAT(不想覆盖)
  • 文件必须存在,并且会附加到结尾:O_APPEND
  • 文件可能存在或不存在,并将附加到结尾:O_APPEND | O_CREAT(标准附加模式)
  • 文件必须存在,并且会被截断(可能):O_TRUNC
  • 文件可能存在或不存在,将被截断:O_TRUNC | O_CREAT(标准覆盖)

是否还有其他实用/有用的文件模式可供写入?是否有一个明智的案例,您想要打开现有文件而不是寻找要附加的文件的末尾?

0 个答案:

没有答案