Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1814679
  • 博文数量: 438
  • 博客积分: 9799
  • 博客等级: 中将
  • 技术积分: 6092
  • 用 户 组: 普通用户
  • 注册时间: 2012-03-25 17:25
文章分类

全部博文(438)

文章存档

2019年(1)

2013年(8)

2012年(429)

分类: 系统运维

2012-03-28 12:50:15

一个新文件也可以通过调用creat函数来创建:


#include
int creat(cont char *pathname, mode_t mode);
成功则返回打开的只写文件描述符,错误返回-1


注意这个函数等同于:
open (pathname, O_WRONLY | O_CREAT | O_TRUNC, mode);


历史上早期的UNIX版本,open的第二个参数只能是0、1或2。当时不可能用open函数来打开一个不存在的文件。因此,一个独立的系统调用 --creat,被用来创建新的文件。现在O_CREAT和O_TRUNC选项可以在open里使用,独立的creat已经不再需要了。


在4.5节当我们深入讨论文件访问权限时再来说明如何指定mode。


creat的一个缺点是打开的文件只能用来写。在open的新版本出现之前,如果我们想打开一个临时文件写入然后再读回,我们必须调用creat,close,然后再是open。一个更好的方式是使用open函数:
open (pathname, O_RDWR | O_CREAT | O_TRUNC, mode);
阅读(542) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~