sscanf和sprintf用法讲解

\quad sscanf主要用于把字符串重新输入到指定类型的变量中,而sprintf则是将指定类型的变量转化为字符串。用法示例如下,主要用于oj刷题。sscanf和sprintf与char数组直接对接,而如果是对string类型变量s操作,用s.c_str即可。

#include <bits/stdc++.h>
using namespace std;

int main(int argc, char const *argv[])
{
	float f1;
	int f2;
	string s = "123.456";
	sscanf(s.c_str(), "%f", &f1);  // 将字符串s读入浮点类型变量f1中
	sscanf(s.c_str(), "%d", &f2);  // 将字符串s读入int型变量f2中
    cout << f1 << " " << f2 << " " << f1+f2 << endl;
	
	char str[10] = "123";
	sscanf(str, "%d", &f2); // char类型数组无需用 .c_str 进行转化
	cout << f2 << endl;

	sprintf(str, "%f", 156.3456);  //将浮点数转化为字符串保留在字符数组str中
	cout << str << endl;

	// 综合使用
	char c[100] = "2018-07-15:21.05,hello", temp[100];
	int year, month, day;
	float time;
	sscanf(c, "%d-%d-%d:%f,%s", &year, &month, &day, &time, temp);
	printf("year=%d,month=%02d,day=%02d,time=%.2f,temp=%s\n", year, month, day, time, temp);
	return 0;
}
  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值