windows - FILE_WRITE_DATA 和 FILE_APPEND_DATA 之间的区别

标签 windows winapi

我想使用 CreateFile() 打开一个文件进行写入。如果文件存在,我会将文件指针设置到末尾,然后使用 WriteFile() 写入数据。如果它不存在,我会写在文件的开头。

我应该在 CreateFile() 的 dwDesiredAccess 参数中使用 FILE_APPEND_DATA 还是应该使用 FILE_WRITE_DATA 或者 FILE_WRITE_DATA|FILE_APPEND_DATA?

最后的写法不也是写法,为什么会有FILE_APPEND_DATA?

最佳答案

why is there FILE_APPEND_DATA?

FILE_APPEND_DATA 自动写入文件末尾,因此您不必在写入前手动调用 SetFilePointer/Ex()FILE_WRITE_DATA 不会这样做。

关于windows - FILE_WRITE_DATA 和 FILE_APPEND_DATA 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20093571/

相关文章:

c++ - 使用 cygwin 在 Windows 中创建新线程

C++ 将换行从 CR+LF 更改为 LF

c - 运行时检查失败 #2 - 变量 'thread no' 周围的堆栈已损坏

c - 具有标准用户权限的 Windows 7 中的 dpinst.exe 行为

winapi - CREATE_VIRTUAL_DISK_VERSION_2 的正确参数是什么?

c++ - 了解 VerQueryValue

c# - 未正确对齐的字段

c++ - Windows 上有用的开源库/项目

python - Subprocess.popen() 不能在 Windows 上的参数中使用引号

windows - 系统如何定义进程获得的虚拟内存部分?