字符串函数——sprintf 用法集锦(清晰明了版)

#include 
#include 
#include 
#include 


void demo_sprintf()
{
	char *a = "hello";
	int b = -11;
	char str[100];  // sprintf输入只能是字符数组,或者是malloc的字符指针如:char *str = malloc(sizeof(char)*100);
	
	// 拼接 各种数据类型 组成字符串
	sprintf(str, "hh %d %s", b, a);
	printf("%s\n", str);
	printf("%d\n", strlen(str));
	
	// 将各种类型转成字符串
	float f = 3.1415926;
	sprintf(str, "%5.2f||", f);  // float转字符串,指定 总的宽度(宽度包括小数点,不够左侧补空格,够了直接打印),小数点的个数
	printf("%s\n", str);
	
	sprintf(str, "%d", b);  // int转字符串
	printf("%s\n", str);
	
	// 复制一个字符串的内容另一个字符串
	sprintf(str, "%s", a);  // 从头开始复制
	printf("%s\n", str);
	
	sprintf(str, "%s", str+2);  // 从指定位置开始 复制, 这个只能指定开头,不能指定结尾
	printf("%s\n", str);
	
	// 特色format的使用
	sprintf(str, "%04d||%d", b, b);  // 宽度是4, 不够就补零, 大于等于四就全打印出来
	printf("%s\n", str); // -011
	sprintf(str, "%4d||%d", b, b);   // 宽度是4, 不够左侧补零
	printf("%s\n", str);
	sprintf(str, "%-4d||%d", b, b);   // 宽度是4, 不够右侧补零
	printf("%s\n", str);
	
	sprintf(str, "%p", str);  // 指针
	printf("%s\n", str); 
	
}

int main(){
	demo_sprintf();

	while(1);
	return 0;
}

打印结果

hh -11 hello
12
 3.14||
-11
hello
llo
-011||-11
 -11||-11
-11 ||-11
000000000065FD70

详情知识链接:
整理:C++中sprintf()函数的使用详解

你可能感兴趣的:(C语言,C语言,字符串)