【发布时间】:2020-05-10 04:43:12
【问题描述】:
当您open 访问模式为O_WRONLY 或O_RDWR 的文件时,默认行为是什么。文件是以追加模式还是截断模式打开的?来自man pages:
参数标志必须包括以下访问模式之一: O_RDONLY、O_WRONLY 或 O_RDWR。
...
此外,零个或多个文件创建标志和文件状态标志可以在标志中按位或运算。
这听起来像 O_APPEND 和 O_TRUNC 标志是可选的。那么下面是做什么的呢?
void main ( void )
{
int fd = open( "foo.txt", O_WRONLY );
write( fd, "hello", 5 );
close( fd );
}
【问题讨论】:
-
您可以尝试比询问更容易。此外,由于这些位是 OR'd,根据手册页,只需查看两个定义的值(或询问您的调试器),看看哪个是零。
标签: c linux unix system-calls file-descriptor