从字符串中删除一个字符

2023-12-14

我有一根绳子。如果字符串的最后一个字符是空格,我想删除它。 我尝试了以下代码,

str.erase(remove_if(str.begin(), str.end(), isspace), str.end());

但我的 g++ 编译器给了我一个错误:

error: no matching function for call to ‘remove_if(__gnu_cxx::__normal_iterator<char*,
std::basic_string<char, std::char_traits<char>, std::allocator<char> > >,
__gnu_cxx::__normal_iterator<char*, std::basic_string<char, std::char_traits<char>,
std::allocator<char> > >, <unresolved overloaded function type>)’

请帮忙。


第一个问题是isspaceC++ 标准库中有多个重载。最初的修复是为函数提供显式类型,以便编译器知道要获取哪个函数的地址:

#include <string>
#include <algorithm>
#include <cctype>

int main()
{
   std::string str = "lol hi innit";
   str.erase(std::remove_if(str.begin(), str.end(), (int(*)(int))isspace), str.end());
   std::cout << str; // will output: "lolhiinnit"
}

这是一个很大的丑陋,但是,嘿,这是 C++。

其次,您的代码将删除all字符串中存在空格,这似乎不是您想要的。考虑一个关于字符串最后一个字符的简单 if 语句:

#include <string>
#include <cassert>

int main()
{
   std::string str = "lol hi innit ";
   assert(!str.empty());

   if (*str.rbegin() == ' ')
      str.resize(str.length()-1);

   std::cout << "[" << str << "]"; // will output: "[lol hi innit]"
}

希望这可以帮助。

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

从字符串中删除一个字符 的相关文章

  • C++ 中本地类中的静态成员变量?

    我知道我们不能宣布static本地类中的成员变量 但其原因尚不清楚 那么请问有人可以解释一下吗 另外 为什么我们不能访问非static函数内部定义的变量 内部已经定义了局部类 直接在局部类成员函数中 在下面给出的代码中 int main i
  • Unix网络编程澄清

    我正在翻阅这本经典书籍Unix网络编程 https rads stackoverflow com amzn click com 0139498761 当我偶然发现这个程序时 第 6 8 节 第 179 180 页 include unp h
  • 向 Nhibernate 发出 SQL 查询

    如何将此 SQL 查询发送给 Nhibernate SELECT Customer name FROM Company INNER JOIN Customer ON Company CompanyId Customer CompanyId
  • 启动时出现 OData v4 错误:找不到段“Whatever”的资源

    我正在构建新的 v4 服务 一切进展顺利 直到我为新模型 实体添加了新控制器 并在启动站点进行测试运行时收到此错误 控制器似乎编码正确 就像其他控制器一样 控制器 CustomersOData 中的操作 GetFeed 上的路径模板 Cus
  • 将内置类型转换为向量

    我的 TcpClient 类接受vector
  • 将 System.Windows.Input.KeyEventArgs 键转换为 char

    我需要将事件参数作为char 但是当我尝试转换 Key 枚举时 我得到的字母和符号与传入的字母和符号完全不同 如何正确地将密钥转换为字符 这是我尝试过的 ObserveKeyStroke this new ObervableKeyStrok
  • ASP.NET:获取自 1970 年 1 月 1 日以来的毫秒数

    我有一个 ASP NET VB NET 日期 我试图获取自 1970 年 1 月 1 日以来的毫秒数 我尝试在 MSDN 中寻找方法 但找不到任何东西 有谁知道如何做到这一点 从 NET 4 6 开始 该方法ToUnixTimeMillis
  • 如何在 Linq 中获得左外连接?

    我的数据库中有两个表 如下所示 顾客 C ID city 1 Dhaka 2 New york 3 London 个人信息 P ID C ID Field value 1 1 First Name Nasir 2 1 Last Name U
  • 将 Excel 导入到 Datagridview

    我使用此代码打开 Excel 文件并将其保存在 DataGridView 中 string name Items string constr Provider Microsoft Jet OLEDB 4 0 Data Source Dial
  • Java 不可变对象 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在学习不变性的概念 据我了解 一旦创建对象 不可变对象就无法更改其值 但我不明白不可变对象的以下用途 They are 自动是线程
  • 上下文敏感与歧义

    我对上下文敏感性和歧义如何相互影响感到困惑 我认为正确的是 歧义 歧义语法会导致使用左推导或右推导构建多个解析树 所有可能的语法都是二义性的语言是二义性语言 例如 C 是一种不明确的语言 因为 x y 总是可以表示两个不同的事物 如下所述
  • std::async 与重载函数

    可能的重复 std bind 重载解析 https stackoverflow com questions 4159487 stdbind overload resolution 考虑以下 C 示例 class A public int f
  • 如何对 Web Api 操作进行后调用?

    我创建了一个 Web API 操作 如下所示 HttpPost public void Load string siteName string providerName UserDetails userDetails implementat
  • gcc 的配置选项如何确定默认枚举大小(短或非短)?

    我尝试了一些 gcc 编译器来查看默认枚举大小是否很短 至少一个字节 强制使用 fshort enums 或无短 至少 4 个字节 强制使用 fno short enums user host echo Static assert 4 si
  • 有没有办法强制显示工具提示?

    我有一个验证字段的方法 如果无法验证 该字段将被清除并标记为红色 我还希望在框上方弹出一个工具提示 并向用户显示该值无效的消息 有没有办法做到这一点 并且可以控制工具提示显示的时间 我怎样才能让它自己弹出而不是鼠标悬停时弹出 If the
  • 线程和 fork()。我该如何处理呢? [复制]

    这个问题在这里已经有答案了 可能的重复 多线程程序中的fork https stackoverflow com questions 1235516 fork in multi threaded program 如果我有一个使用 fork 的
  • 使用 GhostScript.NET 打印 PDF DPI 打印问题

    我在用GhostScript NET http ghostscriptnet codeplex com打印 PDF 当我以 96DPI 打印时 PDF 打印效果很好 但有点模糊 如果我尝试以 600DPI 打印文档 打印的页面会被极大地放大
  • 使用 Scala 在 Apache Spark 中拆分字符串

    我有一个数据集 其中包含以下格式的行 制表符分隔 Title lt t gt Text 现在对于每个单词Text 我想创建一个 Word Title 一对 例如 ABC Hello World gives me Hello ABC Worl
  • 在客户端系统中安装后桌面应用程序无法打开

    我目前正在使用 Visual Studio 2017 和 4 6 1 net 框架 我为桌面应用程序创建了安装文件 安装程序在我的系统中完美安装并运行 问题是安装程序在其他计算机上成功安装 但应用程序无法打开 edit 在客户端系统中下载了
  • 如何正确使用 std::condition_variable?

    我很困惑conditions variables以及如何 安全 使用它们 在我的应用程序中 我有一个创建 gui 线程的类 但是当 gui 是由 gui 线程构造时 主线程需要等待 情况与下面的函数相同 主线程创建互斥体 锁和conditi

随机推荐

  • Cpdf.php 第 3855 行中的 ErrorException:未定义索引:位于 barryvdh/laravel-dompdf

    我正在使用 laravel 5 2 dompdf 在本地主机上运行良好 但当移动到 AWS 时 它不断显示ErrorException in Cpdf php line 3855 Undefined index 在这一行 3855 中有字体
  • 带有 ssl 本地证书的 QNetworkRequest

    我需要与需要本地证书 crt 文件 的服务器交换数据 我试试这个 loginRequest QNetworkRequest QUrl https somesite com login QSslConfiguration sslConf lo
  • 打印特定类型的金字塔

    对于uni 我们必须打印特定类型的金字塔 这是代码 h 10 def build string pyramid s for i in range 1 h 1 print 1 end for j in range 2 i 1 print en
  • 致命错误:找不到类“Swift_smtpTransport”

    我正在尝试添加从我的网站后端向客户发送电子邮件的功能 并尝试使用 swiftmailer 来执行此操作 不幸的是 我不断收到错误消息 Fatal error Class Swift smtpTransport not found in ho
  • 使用翻译行为时如何查询翻译的内容?

    我的网站有多种语言 因此文章的标题取决于当地语言 但有一个问题 如何搜索另一种语言的文章 目前 唯一的方法是输入英文标题 以便 cakePHP 检索法文名称 我无法用法语搜索它 例如 当我搜索 Hello 时 我找到了名为 Bonjour
  • 如何从 Windows 剪贴板读取位图

    我正在编写一个非常小的 C 程序来帮助我制作精灵动画 我希望它能够获取从 Photoshop 复制到剪贴板的数据 在我的程序中对其进行操作 然后使用转换覆盖剪贴板 但问题是我不知道如何从 Photoshop 读取初始剪贴板 我可以加载剪贴板
  • 如何以编程方式或定期清除操作 PrintService 事件日志?

    我们正在尝试对在 Windows Server 2008 R2 上运行的打印机进行一些内部打印审核 通过事件查看器启用日志后 应用程序和服务日志 gt Microsoft gt Windows gt PrintService gt 操作 我
  • 如何从 weka API 计算置信度?

    我正在使用weka java API 在训练集上训练后我可以得到预测的类标签 双 pred fc classifyInstance test instance i 但我想知道类标签的置信概率 我应该使用什么函数 在 GUI 中 我可以选择将
  • 如何使 webpack 开发服务器在端口 80 和 0.0.0.0 上运行以使其可公开访问?

    我对整体是新的nodejs reactjs如果我的问题听起来很愚蠢 世界深表歉意 我目前正在玩反应性 js 每当我做一个npm start它总是继续运行localhost 8080 我如何将其更改为运行0 0 0 0 8080使其公开 我一
  • 检查线程是否是boost线程

    为了进行线程本地清理 我需要创建一个断言来检查当前线程是否是通过 boost thread 创建的 我怎样才能检查是否是这种情况 也就是说 如何检查当前线程是否由 boost thread 处理 我只需要在线程退出时清理线程本地存储 Boo
  • 获取消息:来自 AWS API 网关的禁止回复

    我正在尝试在 AWS 上创建 lambda 服务 并通过 API 网关从外部访问它 无需身份验证或限制 为了让事情变得简单 我现在将网关设置为模拟 在 API 的 Get 方法中 授权设置为NoneAPI 密钥是not required 当
  • 如何在插入工作时更新 BLOB 列,错误 ORA-00932

    我无法更新 BLOB 字段 但插入可以 请参阅下面的代码 我的猜测是 这与在大量记录中存储一个 BLOB 值的问题有关 涉及复制大数据 就我而言 我知道只会更新一条记录 但 Oracle 可能认为可能需要更新多条记录 使用插入时 可以保证只
  • 查找决策树中到决策边界的距离

    我想找到样本到经过训练的决策树分类器的决策边界的距离scikit学习 特征都是数字的 特征空间可以是任何大小 到目前为止 我有一个基于示例 2D 案例的可视化here import numpy as np import matplotlib
  • X509Certificate2 服务器模式 SSL 必须使用具有关联私钥的证书

    我使用 SslStream 构建 Web 服务器 但是 下面的代码在 AuthenticateAsServer 时引发异常 static X509Certificate cert protected virtual Stream GetSt
  • 撤消对存储过程的更改

    我更改了一个存储过程 并在不知不觉中覆盖了其他开发人员对其所做的一些更改 有没有办法撤消更改并恢复旧脚本 不幸的是 我没有该数据库的备份 因此排除了该选项 答案是YES you can拿回来 但这并不容易 所有数据库日志every对其进行的
  • 如何将 Pandas 中的数据格式更改为“%Y%m%d”?

    我有一个 DF 第一列显示为例如2018 01 31 00 00 00 我想将该日期的整列 或在打印 保存到其他变量期间 转换为20180131格式 不希望在保存到 CSV 文件时执行此操作 尝试过这个但没有成功 df mydate pd
  • 如何写一个简单的PHP透明代理?

    我需要制作一个代理脚本 可以访问隐藏在登录屏幕后面的页面 我不需要代理来 模拟 登录 而是应该正常向用户显示登录页面 HTML 并且所有 cookie 和 HTTP GET POST 数据都通过代理流向服务器 因此登录应该是真正的 我不需要
  • 纯JavaScript监听输入值变化

    有没有办法创建一个常量函数来监听输入 以便当输入值发生变化时 立即触发某些内容 我正在寻找使用纯 JavaScript 的东西 没有插件 没有框架 而且我无法编辑 HTML 例如 当我更改输入中的值时MyObject 该函数运行 这是什么e
  • CSS:如何设置相对于父高度的图像大小?

    我试图弄清楚如何重新调整图像的大小 使其保持宽高比 但会重新调整大小 直到图像的高度与包含的 div 的高度相匹配 我有这些又大又长的图像 屏幕截图 我想将它们放入 200 像素宽 180 像素高的 div 中进行显示 而无需手动调整图像大
  • 从字符串中删除一个字符

    我有一根绳子 如果字符串的最后一个字符是空格 我想删除它 我尝试了以下代码 str erase remove if str begin str end isspace str end 但我的 g 编译器给了我一个错误 error no ma