linux中打开文件时 O_TRUNC | O_APPEND 到底是追加还是从头开始写文件?
O_TRUNC截断文件,若文件存在,则删除该文件O_APPEND若设置了该描述符,则在写文件之前,文件指针会被设置到文件的底部为什么我在append.c里面设置open(...
O_TRUNC 截断文件,若文件存在,则删除该文件
O_APPEND 若设置了该描述符,则在写文件之前,文件指针会被设置到文件的底部
为什么我在append.c里面设置open(fd,O_WRONLY|O_CREAT|O_TRUNC,0777);
然后在命令行 通过fcntl添加O_APPEND。 文件总是从头填写??
而如果在append.c文件里面通过fcntl添加O_APPEND,文件就是追加。
这是为什么? 展开
O_APPEND 若设置了该描述符,则在写文件之前,文件指针会被设置到文件的底部
为什么我在append.c里面设置open(fd,O_WRONLY|O_CREAT|O_TRUNC,0777);
然后在命令行 通过fcntl添加O_APPEND。 文件总是从头填写??
而如果在append.c文件里面通过fcntl添加O_APPEND,文件就是追加。
这是为什么? 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询