sprintf()函数:将格式化的数据写入字符串

在C语言中要包含头文件:#include <stdio.h> 

sprintf()函数用于将格式化的数据写入字符串,其原型为:

 int sprintf(char *str, char * format [, argument, …]);

【参   数】str为要写入的字符串;format为格式化字符串,argument为变量,…意思后面还可以有很多变量。

【返回值】返回写入buffer 的字符数,出错则返回-1。

sprintf是将一个格式化的字符串输出到一个目的字符串中,printf是将一个格式化的字符串输出到屏幕。

来看一个sprintf和printf一块的小Demo

#include <stdio.h>
int main()
{
	char Buffer[50];
	int n, a = 4, b = 8;
	n = sprintf(Buffer, "%d plus %d is %d", a, b, a + b);
	printf("[%s] is a string %d chars long\n", Buffer, n);
	return 0;
}

结果:[8 plus 6 is 14] is a string 14 chars long

注意:C语言对数组进行操作时并不检测数组的长度,如果str的长度不够,sprintf()很容易造成缓冲区溢出,所以要保证str长度足够!


版权声明:本文为博主原创文章,未经博主允许不得转载。转载请注明出处!!!

本文链接 http://www.blogtextbook.com/2018/01/25/sprintf函数:将格式化的数据写入字符串/

Tags:
2,905 Comments