c语言实现类似重载的功能
2017-02-15 19:41
169 查看
今天man了一下open,发现open函数的原型居然看着是重载,C语言不是不支持重载么,经过一番搜寻之后,总结如下:
初看,类似C++中的重载函数。当然这只是说明文档,而非C的源代码或者头文件。
在Linux发行版的 /usr/include/fcntl.h 中,有如下声明:
可变长参数函数
C语言是不支持函数重载机制的,但是支持变长参数函数,当然C++也是支持的。Linux中open系统调用
查看Linux中open的Manual Page,看到如下说明:int open(const char *pathname, int flags); int open(const char *pathname, int flags, mode_t mode);
初看,类似C++中的重载函数。当然这只是说明文档,而非C的源代码或者头文件。
在Linux发行版的 /usr/include/fcntl.h 中,有如下声明:
extern int open(const char *__file, int __oflag, ...) __nonnull ((1)); 终于,消除了我的疑惑,原来可变参数还可以用了实现这种功能,C语言果然精通不易。
相关文章推荐
- PowerShell函数实现类似重载功能实例
- 在c#中实现类似C语言中的memset功能
- 用C语言来实现的类似C++函数的重载特性-----void*指针闲谈
- 在java中实现类似c语言中goto的功能
- java如何实现类似c语言的条件汇编功能
- 【学习ios之路:C语言】小程序:实现类似ATM取款机功能.
- 利用C++重载实现类似“类成员指针”的功能
- C语言中实现通用双链表(类似C++模版的功能)
- 【汇编】命令行下获取用户输入,实现类似C语言fgets函数功能
- 用C语言写一个数组,实现类似JAVA语言中ArrayList的功能
- 在java中实现类似c语言中goto的功能
- 实现类似IE的打印网页功能
- ASP.NET中实现类似MSN消息提示功能
- JavaScript实现类似TitleAlt功能并且可以显示图片。
- 实现类似split功能(charindex)
- 用Javascript实现interface的类似功能
- 存储过程中实现类似split功能(charindex)
- 实现类似split功能(charindex)
- 存储过程中实现类似split功能(charindex)
- Dhtml+正则实现类似IDE编辑器的动态提示输入功能