多语言展示
当前在线:1392今日阅读:113今日分享:31

sprintf函数用法详解

作为一个资深程序员,今天小编跟大家讲讲C语言中gets函数的使用方法。
工具/原料
1

C/C++

2

VS 2015

方法/步骤
1

sprintf函数原型:    int sprintf( char *buffer, const char *format ,[ argument,...] );函数功能:把格式化的数据写入某个缓冲区中 返回值:字符串长度(strlen)参数说明:    前两个参数固定,buffer是字符数组名;format是格式化字符串;    可选参数可以是任意个。

2

sprintf函数举例1:# include  int main(void) {     char str[512];     int len = sprintf(str, '%s world!', 'hello');     printf('%s\nlen=%d\n', str,len);     system('pause');     return 0; } 这个例子演示将指定字符串赋值给字符数组str,虽然数据参数为“hello”,但格式字符串参数为“%s world!”,所以输出结果为“hello world!”,字符串长度为12

3

sprintf函数举例2:# include  int main(void) {     char str[512];     char str1[] = 'Get';     char str2[] = 'it!';     int len = sprintf(str, '%s %s', str1,str2);     printf('%s\nlen=%d\n', str,len);     system('pause');     return 0; } 这个例子演示sprintf函数如何进行字符串拼接。这里格式字符串参数为“%s %s”,即将字符串“Get”和“it!”连接成“Get it!”赋给了一维数组str,所以输出结果为“Get it!”,字符串长度为7

4

sprintf函数举例3:# include  int main(void) {     char str[512];     double f = 14.309948;     int len = sprintf(str, '%3.2f', f);     printf('%s\nlen=%d\n', str,len);     system('pause');     return 0; } 这个例子演示sprintf函数控制精度为0.01,将浮点数f以字符串形式赋值给数组str,因为格式化字符串为“%3.2f”,即保留小数点后两位,所以输出结果为“14.30”,字符串长度为5

5

sprintf函数举例4:# include  int main(void) {     char str[512];     int i = 1;     int len = sprintf(str, '0X%p',&i);     printf('%s\nlen=%d\n', str,len);     system('pause');     return 0; } 这个例子演示使用sprintf函数获取一个变量的内存地址,并以十六进制打印出来,由于这个程序是32位程序,所以打印的内存地址只有32位。以0XAAAAAAAA形式显示,长度为10,如果是64位程序,长度为18

6

sprintf函数举例5:# include  int main(void) {     char str[512];     char s1[] = { 'A','B','C' };     char s2[] = { 'T','Y','x' };     int len = sprintf(str, '%*.*s%.*s',4, 2, s1, 1, s2);     printf('%s\nlen=%d\n', str,len);     system('pause');     return 0; }这个例子相对复杂一点,演示sprintf函数如何动态赋值,这里补充一下:sprintf(str,'%*.*s',x,y,string);**s对应x,y,string,表示从string里取n个字符,然后在str的前头加上x-y个空格.若x>y,则不加空格。若x不写,即“%.*s”,则x=y。所以这个例子的输出结果为“  ABT”,长度为5

总结

sprintf与printf函数都是打印函数,二者功能相似,不同之处在于:(1)sprintf函数将数据按格式输出到内存中,而printf函数则直接将数据打印输出到屏幕上。(2)sprintf函数功能更加强大,使用更加灵活,可以取地址、转换数据类型、格式化数据。

注意事项
1

多写代码,多实践

2

注意对比相似函数,了解其异同和优缺点

推荐信息