c语言sprintf作用,C语言sprintf方法使用例子

sprintf在c中是用来输入格式化数据了,下面我们来看一篇sprintf的常用的使用例子方法,希望这篇文章可以为各位带来帮助。

sprintf使用例子:

1、BCD转换成字符

char src = 0x3A;

char tmp[6];

memset(tmp, 0x00, sizeof(tmp));

sprintf(tmp, "X", src);

说明:

1)打印出tmp为3A

2)X含义:

02:0表示长度不足用0填充,2表示格式化后总长度是2

X:表示以大写16进制形式输出

2、字符串数值相加

char * p = "000000000100";

char * p2 = "000000000099";

char * p3 = "000000876666";

double d = 0.0;

d = atof(p); //atof字符串转double

d = atof(p2);

d = atof(p3);

char temp[16];

memset(temp, 0x00, sizeof(temp));

sprintf(temp, "6.0lf", d);

说明:

1)打印出temp为0000000000876865

2)6.0lf含义:

016:0表示长度不足用0来填充,16表示格式化后的总长度是16

.0lf:.0表示小数点后长度是0,整数部分=总长度-小数点后长度。lf是long float型,与double同义

3、int转字符串

int i = 11;

char buf[6];

memset(buf, 0x00, sizeof(buf));

sprintf(buf, "d", i);

说明:

1)打印出buf为:0011

2)d说明:

04:0表示长度不足用0填充,4表示格式化后总长度是4

d:表示以整数形式输出

4、字符串不足位数前补0

sprintf(pde3901.value 9, "%0*d%s", 11-strlen(INST_CODE_JCB), 0, INST_CODE_JCB); //不足11位前补0

说明:

1)%0*d%s:

0*:*表示自定义参数,即第一个参数,11-strlen(INST_CODE_JCB)要补位的长度,但是如果原本就是字符串不会补0,只会补空格

d:表示以整数形式输出第二个参数,即后面的0

%s:表示以字符串形式输出INST_CODE_JCB

5、文件写入16进制数

fprintf写入文件遇到0x00就结束了,后面都用空格代替。写入16进制要用fwrite函数

fwrite(file_header.sBitMap, 16, 1, fp);

6、%s中的小数点

sprintf(sMsg, "SQLCODE = [%d], MSG = [%.*s]", sqlca.sqlcode, sqlca.sqlerrm.sqlerrml, sqlca.sqlerrm.sqlerrmc);

说明:

1)%.*s:

点的作用:%m.ns中m表示整个字符串的总长度,长度不足补空格,n表示从相应的字符串中最多取用的字符数

星号的作用:这里用*代替了%m.ns中的n,表示动态的精度设置。对应的变量是sqlca.sqlerrm.sqlerrml

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值