使用streamstring获取字符串string的子串

2023-11-18

最近优化代码,特别是在C++中获取string的字串,代码经常会遇到(非常有用且重复的功能函数),对这个功能,我之前一直用substr来获取字串,功能也非常强大。最近发现一个非常好用的stringstream,用它来实现substr的部分功能,代码如下:

#include<sstream>
#include<iostream>

std::string concat(std::string str, int pos, int num)
{
	std::streamstring ss;
	//
	int max_pos = (pos + num > str.size()) ? str.size() : (pos + num);
	for(int i = pos; i < max_pos; ++i)
	{
		//ss << (i == pos ? "" : " " );	//字符串的每个字符后面加上一个空格
		ss << str[i];
	}
	return ss.str();
}

int main(int argc, char** argv)
{
	std::string str = " asdfc";
	std::string str1 = concat(str, 0, 3);
	std::cout << "str: "<<str<<std::endl;
	std::cout <<"str1: "<<str1 <<std::endl;
	system("pause");
	return 0;
}

希望能帮助到大家

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用streamstring获取字符串string的子串 的相关文章

随机推荐

  • 如何在 Ubuntu 22.04 上使用 xrdp 启用远程桌面协议

    作者选择了COVID 19 救济基金接受捐赠作为为捐款而写程序 介绍 远程桌面协议 RDP 是 Microsoft 开发的一种网络协议 允许用户远程访问远程 Windows 服务器的图形用户界面并与之交互 RDP 采用客户端 服务器模型 其
  • Apache 配置错误 AH00558:无法可靠地确定服务器的完全限定域名

    介绍 阿帕奇AH00558 Could not reliably determine the server s fully qualified domain name当 Apache 未配置全局变量时 会生成消息ServerName指示 该
  • 如何安装 Puppet 来管理您的服务器基础设施

    Note 本教程的较新版本使用 Puppet Server 而不是 Puppet with Passenger 可以在此处找到 如何在 Ubuntu 14 04 上的主代理设置中安装 Puppet 4 介绍 Puppet 来自 Puppet
  • 20 多个 Maven 命令和选项(备忘单)

    介绍 Maven 是 Java 应用程序最流行的项目和依赖关系管理工具之一 Maven 提供了许多命令和选项来帮助您完成日常任务 本备忘单使用示例 Maven 项目来演示一些有用的 Maven 命令 它最初是为 OpenJDK 13 0 1
  • Python HTTP 客户端请求 - GET、POST

    Python HTTP 模块定义了提供 HTTP 和 HTTPS 协议客户端的类 在大多数程序中 HTTP模块并不直接使用 而是与urllib处理 URL 连接以及与 HTTP 请求交互的模块 今天我们将学习如何使用 Python HTTP
  • 如何在 Node.js 中使用 __dirname

    介绍 dirname是一个环境变量 它告诉您包含当前正在执行的文件的目录的绝对路径 在本文中 您将探索如何实施 dirname在您的 Node js 项目中 先决条件 要完成本教程 您将需要 Node js 的一般知识 要了解有关 Node
  • 如何在 Ubuntu 14.04 上安装 Git

    介绍 现代软件开发中不可或缺的工具是某种版本控制系统 版本控制系统允许您在源代码级别跟踪您的软件 您可以跟踪更改 恢复到之前的阶段以及分支以创建文件和目录的备用版本 最流行的版本控制系统之一是git 一个分布式版本控制系统 许多项目在 gi
  • 如何在 Centos 6 上使用 Rsync 创建站点的异地备份

    Status 已弃用 本文介绍不再受支持的 CentOS 版本 如果您当前运行的服务器运行 CentOS 6 我们强烈建议您升级或迁移到受支持的 CentOS 版本 Reason CentOS 6 于 2020 年 11 月 30 日达到生
  • 如何在 Linux/Ubuntu 中使用 PhotoRec 恢复已删除的文件

    不小心删除了文件或照片 在本教程中 我们将学习如何使用 PhotoRec 在 Linux 中恢复已删除的文件 在之前的教程中 我们讨论了使用名为的 Linux 实用程序恢复已删除文件的步骤TestDiskPhotoRec 实用程序是由同一家
  • Scala 面试问题与解答

    欢迎来到 Scala 面试问题和解答 如今 大多数金融 银行 政府 电信 社交网络等公司都在使用Scala Play 和 Akka 框架开发他们的项目 因为这些框架同时支持 OOP 和 FP 功能 并且还提供了许多优势 Scala 面试问题
  • comgt General Commands Manual

    reference url comgt 1 comgt Debian testing Debian Manpages NAME comgt Option GlobeTrotter GPRS EDGE 3G HSDPA and Vodafon
  • 大端对齐与小端对齐

    地址绑定技术 在概念上 等效于联合体 union 例如 联合体实现地址绑定 union Example unsigned long dNumber unsigned char Array 4 Data 在这个联合体 Example 中 un
  • 心理学的166个现象---之二

    22 长尾效应 长尾效应的根本就是要强调 个性化 客户力量 和 小利润大市场 也就是要赚很少的钱 但是要赚很多人的钱 要将市场细分到很细很小的时候 然后就会发现这些细小市场的累计会带来明显的长尾的效应 以图书为例 Barnes Noble的
  • SQL Server导入Excel常见错误以及注意点

    1 excel第一行的字段名与数据库字段名需一一对应 导入时在 选择表和源视图 步骤 需注意 编辑 选项里的EXCEL列是否已经与表字段对应 如果某一字段为忽略 则会出现导入不匹配的错误 注意Excel的字段顺序 个数是否与表结构相同 2
  • TensorFlow 图片读取

    TensorFlow Version 2 0 0 image raw tf io read file img jpg image tf image decode image image raw channels None dtype tf
  • 2023高教社杯全国大学生数学建模竞赛C题思路模型代码

    2023高教社杯全国大学生数学建模竞赛C题思路模型代码 一 国赛常用的模型算法 1 蒙特卡罗算法 该算法又称随机性模拟算法 是通过计算机仿真来解决问题的算法 同时可以通过模拟可以来检验自己模型的正确性 比较好用的算法 2 数据拟合 参数估计
  • Zotero文献管理工具使用教程-2

    1 打开word 2 选择zotero标签 3 点击Add Edit Citation 4 选择要导入文献的格式后点击OK 这里以GB T 7714 1987为例 5 鼠标光标选中要插入的位置 前边一定要有文字 之后点击2所框选位置 6 点
  • 关于置信区间、置信度的理解

    关于置信区间和置信度的理解 在网上找了两个相关的观点感觉讲的很好 恍然大悟 简单概括 参数只有一个是固定的不会变 我们用局部估计整体 参数95 的置信度在区间A的意思是 正确 采样100次计算95 置信度的置信区间 有95次计算所得的区间包
  • 【leetcode 524. 通过删除字母匹配到字典里最长单词】双指针,在不同字符串中同向查找

    解题思路 依旧是双指针 不过双指针在不同字符串中同向查找 且在使用双指针前需要对被查找集合做排序 1 根据题目要求 先将dictionary的字符串按照字符串的长度从大到小排序 且字符串符合字典序 进行排序 目的是为了接下查找时 dicti
  • 使用streamstring获取字符串string的子串

    最近优化代码 特别是在C 中获取string的字串 代码经常会遇到 非常有用且重复的功能函数 对这个功能 我之前一直用substr来获取字串 功能也非常强大 最近发现一个非常好用的stringstream 用它来实现substr的部分功能