模拟实现printf函数

2016-11-13 20:14 阅读 384 次 评论 0 条

00:00/00:00

模拟实现printf函数

思路:要实现printf函数,首先我们应该知道printf的功能,MSDN中是这样描述的Print formatted output to the standard output stream.即格式化输出打印标准输出流,Each of the functions returns the number of characters printed, or a negative value if an error occurs.即这些函数中的每一个都返回打印的字符数,如果发生错误,则返回负值。所以我们要做的就是模拟实现printf函数的功能。首先为大家介绍一下stdarg宏。既然不能用printf,那么我们就借助putchar来实现,遍历过程中,如果遇到'%',那么说明后面可能会跟上类型,如果出现'c',说明是字符型常量,输出这个字符,地址+1,继续判断,如果出现的是's',说明是字符串,输出后,地址+1,继续遍历,如果是其他的如'd''f',则返回的类型不同之外,其他遍历方法一致,如果都不符合,就直接输出。

stdarg宏:可变参数列表是通过宏来实现的,这些宏定义与stdarg.h头文件,它是标准库的一部分。这个头文件申明了一个类型va_list和三个宏------va_start,va_arg,va_end。我们可以申明一个类型为va_list的变量,与这几个宏配合使用,访问参数的值。

版权声明:本文著作权归原作者所有,欢迎分享本文,谢谢支持!
转载请注明:模拟实现printf函数 | 术与道的分享
分类:编程素养 标签:,
1024do.com导航_术与道导航平台

发表评论


表情