在研究UNIX编程时,我遇到了函数pwrite()。我读过
pwrite(file_descriptor,buf,bufsize,offset);
将以下两个合并为一个原子操作:
lseek(file_descriptor,offset,SEEK_SET);
write(file_descriptor,buf,bufsize);
但是,如果我需要附加到文件上怎么办?
因此,我真正的问题是,如何使用pwrite()自动附加到文件上?
在合规的实现中,没有办法pwrite
使它与一起使用O_APPEND
。在linux上pwrite
忽略以下偏移量O_APPEND
:
臭虫
POSIX要求使用O_APPEND标志打开文件应该对pwrite()写入数据的位置没有影响。但是,在Linux上,如果使用O_APPEND打开文件,则无论offset的值如何,pwrite()都会将数据追加到文件的末尾。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句