c语言sprintf字符串循,C语言sprintf例子

sprintf使用例子:

1、BCD转换成字符

char src = 0x3A;

char tmp[6];

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

sprintf(tmp, "%02X", src);

说明:

1)打印出tmp为3A

2)%02X含义:

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, "%016.0lf", d);

说明:

1)打印出temp为0000000000876865

2)%016.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, "%04d", i);

说明:

1)打印出buf为:0011

2)%04d说明:

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

7、十进制转十六进制

十进制转十六进制:

int i = 10;

sprintf(Tmpbuf, "%02x", i);

Tmpbuf是”0A”

8、十六进制转十进制

十六进制转十进制:

—–这个好像没用—–

char c = 0x0A;

int i = 0;

sscanf(&c, "%d", &i);

printf("i [%d]\n", i);

i输出是10

———————-

十六进制转成十进制字符串,十进制字符串转成int类型

0x0B –> “11” –> 11

char d = 0x0B;

char tmp2[2];

int k = 0;

sprintf(tmp2, "%d", d);

k = atoi(tmp2);

printf("k [%d]\n", k);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值