当你以访问模式
O_WRONLY
或 O_RDWR
打开一个文件时,默认行为是什么?文件是在附加模式还是截断模式下打开的?根据man页面:
标志参数必须包括以下访问模式之一: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 );
}