首页 > 编程语言 >C++常用语法知识-- std::istringstream

C++常用语法知识-- std::istringstream

时间:2023-10-24 10:00:10浏览次数:41  
标签:std 提取 istringstream -- C++ iss num

C++常用语法知识-- std::istringstream

  • 介绍
    std::istringstream是C++标准库中的一个类,它用于从字符串中提取数据,并将数据转换为不同的数据类型。通常从字符串中解析数据,例如整数、浮点数等。

  • 使用方法

    • 创建std::istringstream对象,首先,需要创建一个std::istringstream对象,将要解析的字符串传递给它。例如std:istringstream iss("123 45.6"),创建一个用于解析字符串“123 45.6”的iss对象。
    • 使用输入操作符>>提取数据:可以使用>>操作符从std::istringstream对象中提取数据,并将其存储在变量中。例如 int num;iss>>num;将尝试从iss中提取一个整数,并将其存储在num中,如果提取成功,num将包含提取的整数值,如果提取失败,num不会改变.
    • 检查提取是否成功:你可以检查提取操作的成功与否,通常使用条件语句。例如:if(iss>>num);如果提取成功,将返回true;否则返回false。这允许提取结果进行不同操作。
    • 多次提取:可以多次使用>>操作符来从同一个std::istringstream对象中提取不同类型的数据。例如,可以提取整数、浮点数、字符串等。
    • 清除std::istringstream:可以使用iss.clear()来清除std::istringstream的错误状态,以便重新使用它,这通常在想要从同一个std::istringstream对象中提取不同类型的数据时非常有用。
  • 实例

// istringstream::str
#include <string>       // std::string
#include <iostream>     // std::cout
#include <sstream>      // std::istringstream

int main () {
  std::istringstream iss;
  std::string strvalues = "32 240 2 1450";

  iss.str (strvalues);

  for (int n=0; n<4; n++)
  {
    int val;
    iss >> val;
    std::cout << val << '\n';
  }
  std::cout << "Finished writing the numbers in: ";
  std::cout << iss.str() << '\n';
  return 0;
}

结果输出:

标签:std,提取,istringstream,--,C++,iss,num
From: https://www.cnblogs.com/bonne-chance/p/17784068.html

相关文章

  • 13.4 DirectX内部劫持绘制
    相对于外部绘图技术的不稳定性,内部绘制则显得更加流程与稳定,在Dx9环境中,函数EndScene是在绘制3D场景后,用于完成将最终的图像渲染到屏幕的一系列操作的函数。它会将缓冲区中的图像清空,设置视口和其他渲染状态,执行顶点和像素着色器,最后在后台缓冲区中生成一张完整的渲染图像,然后将其......
  • CH32X035 模拟IIC驱动EEPROM
    在CH32X035的GPIO模式配置选项中,并没有开漏输出的配置模式,如下图。在使用GPIO模拟IIC时,可在初始化时将其配置成推挽输出模式,在需要时切换对应的输入输出模式,以下是CH32X035GPIO模拟IIC的实现例程。 具体程序代码如下:iic.h文件:#ifndef__IIC_H#define__IIC_H#include"c......
  • 量子力学大概总结(一)
    我自己为了方便随时查看和复习写了这一份量子力学总结笔记,力在写出来源和结论,推导大部分都忽略掉了,也可能有描述得不精确的地方,会在不断学习的过程中慢慢完善。量子力学的基本假定量子系统的状态由一个波函数完全描述,这个波函数可以推导出系统所有的性质。波函数满足连续性、有......
  • CH32X035 模拟IIC驱动EEPROM
    来源:https://www.cnblogs.com/liaigu/p/17784027.html在CH32X035的GPIO模式配置选项中,并没有开漏输出的配置模式,如下图。在使用GPIO模拟IIC时,可在初始化时将其配置成推挽输出模式,在需要时切换对应的输入输出模式,以下是CH32X035GPIO模拟IIC的实现例程。 具体程序代码如下:iic.......
  • asp.net core 如何通过服务定位器的方式获取注入的服务
    1、在Controller中可以通过HttpContext获取Services,然后获取到注入的服务varhostEnvironment2=HttpContext.RequestServices.GetRequiredService<IHostEnvironment>();2、利用静态类方式获取PublicStaticClassServiceLocator{publicstaticIServiceProviderIn......
  • Python标准库的入口
    Python有一套很有用的标准库(standardlibrary)。标准库会随着Python解释器,一起安装在你的电脑中的。它是Python的一个组成部分。这些标准库是Python为你准备好的利器,可以让编程事半功倍。 我将根据我个人的使用经验中,挑选出标准库三个方面的包(package)介绍:Python增强系......
  • How To Clear Quick Access And Recent File And Folders In Windows 10
    HowToClearQuickAccessAndRecentFileAndFoldersInWindows10HerearetheinstructionstocleartheQuickAccessandRecentFilesandFolderscacheandreturnitbacktofactorydefaultstateinWindows10.Step1OpenFileExplorerStep2Click......
  • 【2023-10-06】连岳摘抄
    23:59 春生、夏长、秋收、冬藏,天之正也,不可干而逆之。                                                 ——鬼谷子在中国迅速城市化这三十来年,以北京、上海、广州......
  • oracle打开/关闭归档日志ARCHIVELOG
    1.使用SQLPlus登录用户名:sqlplus密码:assysdba 2.查询数据库是否是归档模式:查询结果为“ARCHIVELOG”表示数据库为归档模式SELECTlog_modeFROMv$database;3.关闭数据库shutdownimmediate;4.启动数据库mount模式startupmount;5.启动归档日志alte......
  • 【2023-10-09】连岳摘抄
    23:59 我们需要彼此。越早了解此事,对我们来说越好。                                                 ——埃里克·埃里克森你可以抽空到大城市待几天,体验一下。白......