sprintf初始化字符串,详情请参照各个函数的注释:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void test1()//sprintf函数 字符串拼接
{
char *p1 = "hello";
char *p2 = "world";
char buf[1024] = { 0 };
sprintf(buf, "%s %s!\n", p1 , p2);
printf("%s", buf);//输出为 hello world!
}
void test2()//数字转字符串
{
int num = 123;
char buf[1024] = { 0 };
sprintf(buf, "%d", num);
printf("%c %c %c ", buf[0],buf[1],buf[2]);//输出为 1 2 3
printf("%s\n", buf);//输出为123
//设置宽度
memset(buf, 0, sizeof(buf));
sprintf(buf, "%10d", num);
printf("%s\n", buf);//输出为 123 前面有7个空格
sprintf(buf, "%-10d", num);
printf("%s\n", buf);//输出为123 后面有7个空格
// 改为16进制 或8进制
memset(buf, 0, sizeof(buf));
sprintf(buf, "%x", num);//输出为7b
printf("%s\n", buf);
memset(buf, 0, sizeof(buf));
sprintf(buf, "%o", num);//输出为173
printf("%s\n", buf);
}
//3. 拼接字符串注意
void test3()
{
char buf1[] = { 'a', 'b', 'c', 'd' };
char buf2[] = { '1', '2', '3', '4' };
char buf[1024] = { 0 };
strcat(buf, buf1);
strcat(buf, buf2);
//sprintf(buf, "%s%s", buf1, buf2);
printf("buf:%s\n", buf);//输出abcd+乱码+1234+乱码
memset(buf, 0, sizeof(buf));
sprintf(buf, "%s%s", buf1, buf2);
printf("buf:%s\n", buf);//输出abcd+乱码+1234+乱码
memset(buf, 0, sizeof(buf));
sprintf(buf, "%.4s%.4s", buf1, buf2);//输出abcd234
printf("buf:%s\n", buf);
//%5s 如果不够5个字符,用空补够5个字符输出,如果超出5个字符,全部输出
//%.5s 就输出5个字符,如果不够5个,有几个就输出几个
printf("%.3s\n", "hello world!");//输出hel
printf("%3s\n", "hello world!");//输出hello world!
}
void main()
{
test1();
test2();
test3();
system("pause");
}
sprintf初始化字符串的详细介绍
最新推荐文章于 2024-07-06 05:00:00 发布