sstream头文件

sstream头文件之前的sscanf和sprintfsscanf函数原型为intsscanf(constchar*str,constchar*format,…),将参数str的字符串根据参数format字符串来转换并格式化数据,转换后的结果存于对应的参数内;#include<iostream>#include<cstdio>usingnamespacestd;i…

大家好,又见面了,我是你们的朋友全栈君。

之前的sscanf和sprintf
sscanf函数原型为int sscanf(const char *str,const char *format,…),将参数str的字符串根据参数format字符串来转换并格式化数据,转换后的结果存于对应的参数内;

#include <iostream>
#include <cstdio>
using namespace std;

int main(){ 
   
	char s[] = "123.432,432";
	double f1;
	int f2;
	int n;
	sscanf_s(s, "%lf,%d%n", &f1, &f2, &n);
	cout << f1 << " " << f2 << " " << n << endl;

	system("pause");
	return 0;
}

sstream头文件
sprintf函数原型为 int sprintf(char *str, const char *format, …),作用是格式化字符串;

void sprintf() { 
   
	char str[256] = { 
    0 };
	int data = 1024;
	//将data转换为字符串
	sprintf_s(str, "%d", data);
	cout << str << endl;

	//获取data的十六进制
	sprintf_s(str, "0x%X", data);
	cout << str << endl;

	//获取data的八进制
	sprintf_s(str, "0%o", data);
	cout << str << endl;

	const char *s1 = "Hello";
	const char *s2 = "World";
	//连接字符串s1和s2
	sprintf_s(str, "%s %s", s1, s2);
	cout << str << endl;
}

sstream头文件
sstream
sstream定义了三个类:istringstream、ostringstream 和 stringstream,分别用来进行流的输入、输出和输入输出操作

  • 可以将内容写入其中,和cout一样
stringstream ss;
    double price = 380.0;
    char *ps = " for a copy of the ISO/EIC C++ standard!";
    ss.precision(2);//精度
    ss << fixed;//固定位数
    ss << "Pay only CHF " << price << ps << endl;
    cout << ss.str() << endl;//将缓冲区的内容转化为字符串
  • 它可以拼接字符串(不同数据类型)
  • 可以从中读取数据,和cin一样:
string word;
while(ss>>word){ 
   
    cout << word << endl;
    }
  • 利用stringstream可以轻松完成字符串和基本数据类型的相互转换
	string s = "12345";
	stringstream ss;
	int x;
	ss << s;
	ss >> x;
	cout << x << endl;
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/136123.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • intellidea2021.4激活码_通用破解码

    intellidea2021.4激活码_通用破解码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月16日
  • C++不确定行为

    C++不确定行为

    2022年1月22日
  • pytest运行_python压测

    pytest运行_python压测前言pytest运行完用例之后会生成一个.pytest_cache的缓存文件夹,用于记录用例的ids和上一次失败的用例。方便我们在运行用例的时候加上–lf和–ff参数,快速运行上一

    2022年7月29日
  • wpf wrapPanel居中并从左到右排列

    wpf wrapPanel居中并从左到右排列publicclassAlignableWrapPanel:Panel{///<summary>///注册新的属性HorizontalContentAlignment///</summary>publicHorizontalAlignmentHorizontalContentAlignment{get{return(Horizont.

    2022年7月22日
  • vue的双向绑定原理_数据双向绑定原理

    vue的双向绑定原理_数据双向绑定原理Vue双向绑定原理入门双向绑定概念数据可观测依赖收集完整示例总结从开始学习前端到现在走在进入中高级前端开发的路上,觉得上手容易又简单的就是Vue框架,包含其相关的生态系统。一直只是简单了解双向绑定的原理,并没有手动去实现或者去拜读过源码。而vue双向绑定基本是面试必考项,通过这段时间的学习,输出以下双向绑定的简单实现示例。参考文章:通俗易懂了解Vue双向绑定原理及实现双向绑定概念概念:…

    2022年10月7日
  • 有什么软件方便画er图_数据库ER图绘制工具(DbSchema)「建议收藏」

    有什么软件方便画er图_数据库ER图绘制工具(DbSchema)「建议收藏」DbSchema是一款专业的数据库ER图绘制工具,也是一款通用数据库设计器和查询工具,可以将数据库以交互的视觉展现,支持文件创建报表,加载数据,生成随机数据等功能。有需要的小伙伴欢迎来西西下载体验。软件功能:1、ER图DBNAME图表设计器在DbSchema中,您将通过图表布局与模式交互。通过创建多个布局来更好地理解模式,每个布局都专注于模式的特定部分。布局和模式结构将保存在DbSchema项目文…

    2022年6月21日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号