printf函数的简单模拟实现
2013-11-23 14:20
218 查看
void printlog(const char * str, ...){ int vint; char *vstr; char vch; char num[10]; char buff[256]; memset(buff, 0, sizeof(buff)); va_list vap; va_start(vap, str); //根据str来解析参数 const char *p = str; const char *lp = str; while(lp = p, p = strchr(p, '%')) { memset(num, 0, sizeof(num)); strncat(buff, lp, p-lp); p++; switch (*p) { case 'd': vint = va_arg(vap, int); sprintf(num, "%d", vint); //for simple strcat(buff, num); break; case 's': vstr = va_arg(vap, char *); strcat(buff, vstr); break; case 'c': vch = va_arg(vap, char); sprintf(num, "%c", vch); //for simple strcat(buff, num); break; default : break; } } va_end(vap); cout << buff << endl; }
相关文章推荐
- 简单模拟实现printf函数
- 模拟spring - 简单实现spring IOC
- Android实现模拟时钟(简单+漂亮)--时针、分针、秒针
- JAVA实现 简单抢红包算法,模拟真实抢红包。
- SSE图像算法优化系列八:自然饱和度(Vibrance)算法的模拟实现及其SSE优化(附源码,可作为SSE图像入门,Vibrance算法也可用于简单的肤色调整)。
- 学生信息管理系统简单模拟(C语言实现)
- 基于JAVA语言实现银行简单ATM应用,通过console输入输出的行式模拟
- Java基础课程学习总结,使用LinkedList简单模拟队列数据结构和堆栈数据结构的实现
- 简单模拟 spring的bean容器的实现
- 设计模式之六:命令模式(简单实现(餐厅点餐模拟流程))
- [C语言]可变参数列表和简单模拟实现printf
- 使用java简单模拟ping和telnet的实现
- 简单模拟hibernate的实现原理
- C语言模拟通讯录系统的简单实现
- 设计模式之二:观察者模式(简单实现(气象站模拟流程))
- 一种简单,快速,精准的sin/cos函数模拟,及as3实现
- 【C语言】模拟实现printf函数(可变参数)
- Android实现模拟时钟(简单+漂亮)--时针、分针、秒针
- 【责任链模式】模拟Struts责任链工作流及简单AOP实现