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

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

例:svg

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

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

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

例:spa

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

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

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]
e x a m p l e 空格 - 空格 1 2 3 \0

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