变长参数表
摘要:
以实现函数printf的一个最简单版本为例,介绍如何以可移植的方式编写可处理变长参数表的函数。因为我们的重点在于参数的处理,所以,函数minprintf只处理格式字符串和参数,格式转换则通过调用函数printf实现。 函数printf的正确声明形式为:int printf(char* fmt, ...) 其中,省略号表示参数表中参数的数量和类型是可变的。省略号只能出现在参数表的尾部。因为minprintf函数不需要想printf函数一样返回实际输出的字符数,因此,我们将它声明为下列形式:void minprintf(char* fmt, ...) 编写函数minprintf的关键在于如何处理. 阅读全文
posted @ 2011-05-29 23:46 NULL00 阅读(859) 评论(0) 推荐(0) 编辑