欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

TIL 14:sprintf

程序员文章站 2022-03-22 22:18:41
...

参考:
sprintf你知道多少

sprintf 跟printf 在用法上几乎一样,只是打印的目的地不同而已,前者打印到字符串中,后者则直接在命令行上输出。这也导致sprintf 比printf 有用得多。

sprintf函数声明:

int sprintf(char *str, const char *format, ...)

其中str就是打印的目的地了。

作用1:格式化数字字符串
eg.16进制等宽,左边补零

sprintf(s, "%08X", 4567); //产生:"000011D7"

作用2:控制浮点数打印格式
eg.使用”%m.nf”格式,其中m 表示打印的宽度,n 表示小数点后的位数

sprintf(s, "%10.3f", 3.1415626); //产生:" 3.142"

作用3:字符/Ascii 码对照
使用”%d”或者”%x”打印一个字符,便能得出它的10 进制或16 进制的ASCII 码;反过来,使用”%c”打印一个整数,便可以看到它所对应的ASCII 字符。

作用4:连接字符串

作用5:打印地址信息
对于地址打印,sprintf 提供了专门的”%p”

sprintf(s, "%p", &i);