sprintf将数字转为字符串,或格式化字符串

当将数字转字符串的itoa函数不可用时,==可以使用sprintf函数==,可达到一样的效果,且移植性更强,同时也可以使用sprintf函数来格式化字符串,功能强大。

例:

sprintf(*p, "%d", num); //将num转为字符串输入到 p 中

这里也可以形象的理解为是先将numprintf打印(在屏幕上输出后肯定就是一个一个的字符了),然后再将屏幕上的输出结果再输入进相应的字符串中。

按上这种理解,自然也就可以在其中加入其它内容,因为只要是printf能打印到屏幕上的内容都能进行添加,实际也如此(注:此处只是比喻!具体sprintf实现原理暂未深入研究)。

例:

int a = 123;
char b[] = "example";
char c[20];
sprintf(c, "%s - %d", b, a);

执行上述语句后C中的内容便会如下所示:

c[0]c[1]c[2]c[3]c[4]c[5]c[6]c[7]c[8]c[9]c[10]c[11]c[12]c[13]
example空格-空格123\0

便会将上述这14个字符存入到c字符串中,==后面会自带一个“\0”!同时 c 中剩余字符是不会被改动的,原来是什么就是什么,会发生改动的只有这14个字符。==

  • 11
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值