荔园在线
荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀
[回到开始]
[上一篇][下一篇]
发信人: jjk (?!??!!!), 信区: Linux
标 题: Re: open()函数有三种形式,但C又不支持重载...why?
发信站: 荔园晨风BBS站 (Sat Nov 30 22:29:23 2002), 转信
不要忘记C语言还有一个变长参数的,就像printf的参数也可以变的。
unix的open的源码如下:
#include <fcntl.h>
#include <stdarg.h>
#include <unistd.h>
int
__open (const char *file, int oflag, ...)
{
int mode = 0;
if (oflag & O_CREAT)
{
va_list arg;
va_start (arg, oflag);
mode = va_arg (arg, int);
va_end (arg);
}
return open (file, oflag, mode);
}
strong_alias (__open, __libc_open)
【 在 cycker (重新开始) 的大作中提到: 】
: 奇怪.
--
~
' v '
// \\ ←--这个是企鹅
/( )\
^ ~ ^
※ 来源:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 192.168.0.234]
[回到开始]
[上一篇][下一篇]
荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店