变长参数printf的简单实现
来源:互联网 发布:mysql高效编程 编辑:程序博客网 时间:2024/05/17 02:26
格式化输出函数——printf(char *format,arg,arg1)
格式化字符创包含两种类型的对象:普通字符和转换说明。在输出是,普通字符将原样不懂的复制到输出流中,而转黄说明并不直接输出到输出流中,而是用于printf中参数的转换和打印
#include<stdarg.h>//宏定义 #include<stdio.h>void minprintf(char *format, ...){ va_list ap;char *p, *sval;int ival;double dval;va_start(ap, format); //将ap指向第一个无名参数for( p = format; *p; p++){if (*p != '%'){putchar(*p);continue;}else {switch(*++p){case 'd':{ival = va_arg(ap, int);printf("%d", ival);break;}case 'f': {dval = va_arg(ap,double);printf("%f",dval);break;}case 's':{for(sval = va_arg(ap, char *); *sval; sval++){putchar(*sval);}break;}default :{putchar(*p);break;}}}} va_end(ap); //结束是清理工作 }int main(){char *s = "Hello World!\n";int a = 10; minprintf("%s%d\n",s,a);return 0;}
阅读全文
0 0
- 变长参数printf的简单实现
- 变长参数的实现
- C语言中变长参数表printf的实现和参数入栈次序之间的关系
- 可变参数的使用-printf简单实现
- 【C】变长参数表及printf函数简化版的实现
- 深入剖析变长参数函数的实现
- 深入剖析变长参数函数的实现
- 变长参数函数的实现及原理
- 简单变长内存池实现的实现
- 简单变长内存池实现的实现
- 可变参数列表:简单printf函数的实现
- printf 的简单实现
- C变长参数问题--如printf
- 变长参数实现
- printf可变参数的实现
- 变长参数的 Tracer
- 变长参数的 Tracer
- 变长参数的 Tracer
- caffe编译问题(一)——error == cudaSuccess
- B
- AIX系统LVM管理PV/VG/LV常用命令总结与实战
- 添加一个frame 坐标
- Java里this的作用和用法
- 变长参数printf的简单实现
- 开博日志-西安区域赛之旅
- 请教聂师兄找工作经验
- wxWidget教程(6)--文件与磁盘处理
- OpenCV的GrabCut函数使用和源码解读
- 对xml文件头内容的理解xmlns xmlns:xsi xsi:schemaLocation
- 关于浙江大学PAT题集用Java语言提交的注意事项
- ffmpeg之读取视频帧
- static{}静态代码块与{}普通代码块之间的区别