1.3 creat简介

1.3 creat简介

creat函数用于创建一个新文件,其等价于

open(pathname,O_WRONLY|O_CREAT|O_TRUNC,mode)。

APUE介绍了引入creat的原因:

由于历史原因,早期的Unix版本中,open的第二个参数只能是0、1或者2。这样就没有办法打开一个不存在的文件。因此,一个独立系统调用creat被引入,用于创建新文件。现在的open函数,通过使用O_CREAT和O_TRUNC选项,可以实现creat的功能,因此creat已经不是必要的了。

内核creat的实现代码如下所示:


SYSCALL_DEFINE2(creat, const char __user *, pathname, int, mode)
 {
     return sys_open(pathname, O_CREAT | O_WRONLY | O_TRUNC, mode); 
}

 

这样就确定了creat无非是open的一种封装实现。

你可能感兴趣的:(Linux,gnu,debian)