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
茶杯头甜蜜终章dlc 官方手机版v1.0.0.3
下载火柴人传说暗影格斗内置菜单 最新版v3.0.1
下载荒野乱斗测试服 安卓版v61.10.3
下载荒野乱斗彩虹服 安卓版v61.10.3
下载寒霜启示录 安卓版v1.25.10
寒霜启示录是一款生存模拟游戏,不少玩家可能对于末日都有着自己
末日城堡免广告版 安卓最新版v0.7.1
末日城堡免广告版是一款非常好玩的模拟经营类游戏,内部可以不看
甜蜜人生模拟器 最新版v1.4.5
甜蜜人生模拟器是一款非常好玩的模拟恋爱手游,玩家在这里能够对
武器锻造师内置功能菜单 v10.4
武器锻造师内置菜单版是游戏的破解版本,在该版本中为玩家提供了
开放空间overfield 安卓版v1.0.5
开放空间Overfield是一款箱庭养成经营手游,让你在广阔