int sprintf(char *str, const char *format, ...)

 int sprintf(char *str, const char *format, ...)

功能:发送格式化输出到 str 所指向的字符串;
白话:将数据以特定的格式写入str字符串;

该函数包含在stdio.h的头文件中;

sprintf的返回值显示的是str字符串使用的长度;

1、sprintf函数例子

#include <stdio.h>
#define M_PI 3.141592653
int main()
{
	int len;
   char str[80];
   len = sprintf(str, "Pi 的值 = %f", M_PI);
   puts(str);
   printf("\n");
   printf("str使用长度为 %d",len);
   printf("\n");
   return (0);
}

2、控制精度

char str[20];
double f=14.309948;
sprintf(str,"%6.2f",f);

3、可以将多个数值数据连接

char str[20];
int a=20984,b=48090;
sprintf(str,"%3d%6d",a,b);
str[]="20984 48090"

4、可以将多个字符串连接成字符串

char str[20];
char s1[5]={'A','B','C'};
char s2[5]={'T','Y','x'};
sprintf(str,"%.3s%.3s",s1,s2);

%m.n在字符串的输出中,m表示宽度,字符串共占的列数;n表示实际的字符数。%m.n在浮点数中,m也表示宽度;n表示小数的位数。

5、可以动态指定,需要截取的字符数

char s1={'A','B','C'};
char s2={'T','Y','x'};
sprintf(str,"%.*s%.*s",2,s1,3,s2);
sprintf(s, "%*.*f", 10, 2, 3.1415926);

6、可以打印出i的地址

sprintf(str, "%p", &i); 
puts(str);
printf("\n");
//上面的语句相当于:
sprintf(str, "%0*x", 2 * sizeof(void *), &i);
puts(str);
printf("\n");

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_41536025/article/details/89212663
今日推荐