sprintf初始化字符串的详细介绍

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");
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值