C语言sprintf函数和sscanf函数

开头

大家好,我叫这是我58。今天,我们要学一下关于C语言里的sscanf函数和sprintf函数的一些知识。

1.什么是sscanf函数?

sscanf函数,来自于头文件stdio.h,用来从字符串中读取格式化的数据,它的内部是这样的:int sscanf ( const char * s, const char * format, ...);1,其中,s代表了读取格式化的数据的地方,format代表了按哪一种格式来读取,而...这部分的参数则代表了那些格式化的数据。如果格式的个数小于格式化的数据的个数,那么,多出的格式化的数据就会被该函数忽略。而如果这个函数执行成功,这个函数将返回参数列表中成功读取到的项数。如果这个函数匹配失败,那么就返回EOF这个代表文件结束的宏。这就是sscanf函数。

2.什么是sprintf函数?

sprintf函数,也来自于头文件stdio.h,用来将格式化数据写入字符串,而不是打印在屏幕上,它的内部是这样子的:int sprintf ( char * str, const char * format, ... );2,其中,str代表了要写入的字符串,format代表了用哪种格式写入字符串,...那的部分则代表了那些格式代表的数据。如果这个函数执行成功,那么这个函数将返回写入的字符个数,跟printf函数执行成功时返回的值一模一样,而如果这个函数执行失败,那么这个函数就返回一个负数。这就是sprintf函数。在看到这里之后,接下来就要讲一下sscanf函数和sprintf函数的实际应用了。

3.sscanf函数与sprintf函数的实际应用

整数转字符串

int main() {
	int i = 0;
	printf("请输入一个整数 -> ");
	scanf("%d", &i);
	char str[12] = "";
	sprintf(str, "%d", i);
	printf(str);
	return 0;
}

字符串转单精度浮点数

int main() {
	char str[100] = "";
	float f = 0.0f;
	printf("请输入一个字符串 -> ");
	scanf("%s", str);
	sscanf(str, "%f", &f);
	printf("%f", f);
	return 0;
}

判断一个整数是正数还是负数

int main() {
	int i = 0;
	char ch = 0;
	printf("请输入一个整数 -> ");
	scanf("%d", &i);
	char str[12] = "";
	sprintf(str, "%+d", i);
	sscanf(str, "%c", &ch);
	printf("%d为%s数", i, '+' == ch ? "正" : "负");
	return 0;
}

……

下一篇博客要说的东西

穿墙迷宫


  1. 选自C语言中sscanf函数的简介 ↩︎

  2. 选自C语言中sprintf函数的简介 ↩︎

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值