sprintf函数

函数功能:把格式化的数据写入某个字符串

头文件:stdio.h

函数原型:int sprintf( char *buffer, const char *format [, argument] … );

返回值:字符串长度(strlen)格式化数字字符串

char buf[20];
//格式化整数
sprintf(buf, "%d", 123); //产生:"123"
sprintf(buf, "%d", -123); //产生:"-123"
sprintf(buf, "%8d%8d", 123, 4567); //产生:"_____123____4567"
sprintf(buf, "%-8d%8d", 123, 4567); //产生:"123_________4567"
sprintf(buf, "%08d", 123); //产生:"00000123"

//格式化十六进制数
sprintf(buf, "%x", 4567); //产生:"11d7"
sprintf(buf, "%X", 4567); //产生:"11D7"
sprintf(buf, "%X", -4567); //产生:"FFFFEE29"
sprintf(buf, "%#X", 4567); //产生:"0X11D7"
sprintf(buf, "%8x", 4567); //产生:"____11d7"
sprintf(buf, "%-8X", 4567); //产生:"11D7____"
sprintf(buf, "%08X", 4567); //产生:"000011D7"

//格式化八进制数
sprintf(buf, "%o", 4567); //产生:"10727"
sprintf(buf, "%o", -4567); //产生:"37777767051"
sprintf(buf, "%8o", 4567); //产生:"___10727"
sprintf(buf, "%-8o", 4567); //产生:"10727___"
sprintf(buf, "%08o", 4567); //产生:"00010727"

//格式化浮点数
sprintf(buf, "%f", 3.1415926); //默认保留6位小数,产生:"3.141593"
sprintf(buf, "%f", -3.1415926); //默认保留6位小数,产生:"-3.141593"
sprintf(buf, "%10.3f", 3.1415626); //产生:"_____3.142"
sprintf(buf, "%-10.4f", 3.1415626); //产生:"3.1416____"
sprintf(buf, "%.5f", 3.1415626); //不指定总宽度,产生:"3.14156"
sprintf(buf, "%.2f", 5); //产生:"0.00"
sprintf(buf, "%.2f", (double)5); //产生:"5.00"

//打印字符
sprintf(buf, "[%c]: %d %#08X", 97, 97, 97);//产生:"[a]: 97 0X000061"

//连接字符串
sprintf(buf, "%s love %s.", "I", "you"); //产生:"I love you."

//采用"*"来占用一个指定宽度或精度的常数数字的位置
sprintf(buf, "%0*d", 8, 123); //产生:"00000123"
sprintf(buf, "%#0*X", 10, 4567); //产生:"0X000011D7"
sprintf(buf, "%.2f", 3.1415626); //产生:"3.14"

//打印内存地址
sprintf(buf, "%u", buf); //产生:"1242760"
sprintf(buf, "%08X", buf); //产生:"0012F688"
sprintf(buf, "%p", buf); //产生:"0012F688"

//补充介绍
#ifndef UNICODE
wsprintf(buf, "%d", 4567); //ASCII字符串
#else
wsprintf(buf, L"%d", 4567); //UNICODE字符串
#endif

//产生"YYYY-MM-DD hh:mm:ss"格式的字符串。
time_t t = time(0);
strftime(buf, sizeof(buf), "%Y-%m-%d %H:%M:%S", localtime(&t)); //产生"2011-07-06 14:32:02"

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值