C语言 sscanf()与sprintf()的用法 (格式化字符串操作函数)

sscanf

sscanf函数声明定义于头文件 <stdio.h>中,该函数与scanf()类似,但它是从字符串中读取格式化数据。

int sscanf ( const char * s, const char * format, ...);

从s中读取数据,并根据参数格式将数据存储到附加参数指定的位置,就像使用scanf一样,但是从s中读取数据而不是标准输入(stdin)。

参数:

s : 指向要读取的空终止字符串的指针 。
format: 指向指定读取输入方式的空终止字符串的指针。

#include <stdio.h>

int main(int argc, char const *argv[])
{
	char str[] = "13.14";
	int i;
	float f;
	sscanf(str,"%d",&i);
	printf("i = %d\n", i);

	sscanf(str,"%f",&f);
	printf("f = %f\n",f );

	return 0;
}

输出结果
在这里插入图片描述

sprintf

sprintf()函数和printf类似,但它是将数据写入字符串中,而不是显示在显示器上。因此该函数可以把多个元素合成一个字符串.。

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

使用与printf上使用的格式相同的文本组合一个字符串,但是内容不是被打印出来的,而是以C字符串的形式存储在str指向的缓冲区中。

参数:

str:指向存储结果c字符串的缓冲区的指针。
format:包含格式字符串的C字符串,该格式字符串遵循与printf格式相同的规范;

#include <stdio.h>

int main(int argc, char const *argv[])
{

	int H,M,S;
	int t;
	char Time[128];

	printf("Please enter the second:  ");
	scanf("%d",&t);

	H = t /3600;
	M = (t%3600)/60;
	S = (t%3600)%60;

	sprintf(Time,"%2d:%2d:%2d",H,M,S);
	printf("Time :  %s\n",Time );
	return 0;
}

输出结果
在这里插入图片描述
在这里插入图片描述

扫二维码关注微信公众号,获取技术干货

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值