关于sprintf函数(fishing_9)

最近碰到了sprintf函数,之前也遇到了,也用了,但也仅限于套过来用一下,今天又碰到了就打算稍微看下,纯属个人理解。
sprintf函数原型如下:

int sprintf(char* buffer,char* WriteTobuffer,...);

第一个输入参数buffer是要写入的目标字符缓冲区,第二个输入参数WriteTobuffer将要被写入到目标字符缓冲区的字符指针,以及后面的变输入参数也是一样,都是要写入到buffer里面的指针,注意都是字符型指针;
返回值是写入buffer的字符数;

结合下面的例子就很清楚了。

#include "stdio.h"

void main(void)
{
	char cmdbuff[80];
	char num[] = "10086";//这里要定义成字符型,因为sprintf的输入参数类型就是char型的
	int re_sprin = 0;

	/*sprintf原型:int sprintf(char* buffer,char* WriteTobuffer,...),返回值为写入buffer的字符数*/

	re_sprin = sprintf(cmdbuff,"AT+CMGS= \"%s\" \r\n",num);//sprintf的妙用,实现字符与字符的拼接,双引号的输出形式为:\" "\
	
	printf("%s \r\n",cmdbuff);

	printf("%d \r\n\r\n",re_sprin);
}

下面是调试结果:

sprintf函数最主要的用途就是将数据转换成字符串,另外,从上面可以看出,sprintf还可以拼接字符,以及计算字符数。网上还有其他的输出十进制、十六进制以及对齐的作用,这个可以等要用到的时候再查。

最后,就是注意后面参数要写入到第一个参数的总字符大小的问题,小心出现内存泄露的问题。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值