LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 700|回复: 4

关于open()`不懂的地方。

[复制链接]
发表于 2003-12-6 23:20:51 | 显示全部楼层 |阅读模式
int open( const char * path,
int oflag,
... );
这里的*号是什么意思?const char * path 是一个字符串常量,还是一个指针?

这里应该是一个文件名才是的阿,怎么有这么多东东?

..... 可以有很多吗,超过三个参数?因为本人很莱,请解释得详细点,先谢过了。
发表于 2003-12-6 23:26:14 | 显示全部楼层
是个指针,指向你输入的路径(EG“/etc/profile"字符串的首地址)的首地址。
发表于 2003-12-6 23:27:01 | 显示全部楼层
指针,真令人难懂阿。
发表于 2003-12-7 01:19:24 | 显示全部楼层
int open( const char * path, int oflag, ... );
path是指向const char 的指针,c语言里没有字符串这个数据类型,是用字符指针或字符数组来做字符串的(结尾要有'\0')。
...是指第三个参数,如果oflag里有O_CREAT(创建文件),就需要第三个参数mode_t mode,指明文件的权限

参见 man 2 open
 楼主| 发表于 2003-12-9 13:34:38 | 显示全部楼层
谢谢大家的帮助
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表