用C语言的可变参函数实现一个简单的printf函数
来源:互联网 发布:java 读取cad文件 dwg 编辑:程序博客网 时间:2024/06/04 19:09
文章出处:http://www.cnblogs.com/phinecos/archive/2007/08/24/868524.html
#include "stdio.h"#include "stdlib.h"#include <stdarg.h>void myprintf(char* fmt, ) //一个简单的类似于printf的实现,//参数必须都是int 类型{ //char* pArg=NULL; //等价于原来的va_list va_list pArg; char c; // pArg = (char*) &fmt; //注意不要写成p = fmt !!因为这里要对参数取址,而不是取值 // pArg += sizeof(fmt); //等价于原来的va_start va_start(pArg,fmt); do { c =*fmt; if (c != '%') { putchar(c); //照原样输出字符 } else {//按格式字符输出数据 switch(*++fmt) { case 'd': printf("%d",*((int*)pArg)); break; case 'x': printf("%#x",*((int*)pArg)); break; case 'f': printf("%f",*((float*)pArg)); default: break; } //pArg += sizeof(int); //等价于原来的va_arg va_arg(pArg,int); } ++fmt; }while (*fmt != '\0'); //pArg = NULL; //等价于va_end va_end(pArg); return;}int main(int argc, char* argv[]){ int i = 1234; int j = 5678; myprintf("the first test:i=%d",i,j); myprintf("the secend test:i=%f; %x;j=%d;",i,0xabcd,j); system("pause"); return 0;}
0 0
- 用C语言的可变参函数实现一个简单的printf函数
- 【c语言】用可变参数列表实现一个简化的printf函数
- 【C语言】printf函数的简单实现(可变参数列表)
- C语言可变参函数的实现
- C语言可变参列表与简易printf函数实现
- 【C语言】用可变参数列表实现printf函数
- c语言中可变参数的原理---printf()函数
- c语言中可变参数的原理---printf()函数
- 可变参数列表:简单printf函数的实现
- C语言实现printf函数,即参数可变函数原理
- 【C语言】模拟实现printf函数 可变参数列表的实战
- 一个类似printf的可变参数函数
- C语言可变参数函数的实现
- C语言可变参数函数的实现
- C语言可变参数的函数实现
- C语言可变参数函数的实现
- C语言可变参数函数的实现
- printf谈可变参数函数的实现
- 对Hibernate的简单认识
- LINUX 3.5.4 PTRACE (系列七)
- 09-查找-Introduction
- 高瞻远瞩HTML5.0
- Array under ARC
- 用C语言的可变参函数实现一个简单的printf函数
- 浅谈随机数发生器
- DB2环境变量与参数的备份
- @Component 、@Repository、@Service 和 @Controller
- linux总线、设备和驱动程序
- Linux内核抢占机制(preempt)
- 2013年6月 第三套 two long conversations
- STL&容器
- Oracle常用监控SQL