可以利用sprintf对字符串进行格式化
sprintf(目标字符串, “格式”,占位参数…);
测试源码
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
void test01()
{
char buf[1024];
memset(buf, 0, 1024);
//sprintf格式化字符串
sprintf(buf, "今天是%d年 %d月 %d 日\n", 2019, 04, 28);
printf("%s", buf);
//字符串拼接
memset(buf, 0, 1024);
char str1[] = "hello ";
char str2[] = "world";
int len = sprintf(buf, "%s%s", str1, str2); //sprintf返回的是字符串的长度
printf("buf = %s len = %d\n", buf, len);
//数字转字符串
memset(buf, 0, 1024);
int num = 100;
sprintf(buf, "%d", num);
printf("buf:%s\n", buf);
//设置宽度 右对齐
memset(buf, 0, 1024);
sprintf(buf, "%8d", num);
printf("buf:%s\n", buf);
//设置宽度 左对齐
memset(buf, 0, 1024);
sprintf(buf, "%-8d", num);
printf("buf:%sa\n", buf);
//转成16进制字符串 小写
memset(buf, 0, 1024);
sprintf(buf, "0x%x", num);
printf("buf:%s\n", buf);
//转成8进制字符串
memset(buf, 0, 1024);
sprintf(buf, "0%o", num);
printf("buf:%s\n", buf);
}
int main(){
test01();
system("pause");
return EXIT_SUCCESS;
}
测试结果
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/85f540505c3f637df1b69be0d22463d9.png)