stpeace

最近要用到, 先来写个程序(注意, 后来网友帮我发现, 如下这个程序有问题):

#include <iostream>
#include <map>
#include <string>
using namespace std;void deleteAllMark(string &s, const string &mark)
{unsigned int nSize = mark.size();while(1){unsigned int pos = s.find(mark);if(pos == string::npos){return;}s.erase(pos, nSize);}
}int main()
{string s = " abc  def   ";string b = "abcdef";deleteAllMark(s, " ");cout << ((s==b)? "yes": "no")<< endl;return 0;
}

问题在哪里呢? 如上是32位(指编译机)机器, 上述程序是OK的, 但如果是64位(指编译机)机器, 就出现问题了:

terminate called after throwing an instance of ‘std::out_of_range’
what(): basic_string::erase: __pos (which is 4294967295) > this->size() (which is 6)
Aborted

应该用更具有移植性质的size_t, 请用如下正确版本的程序:

#include <iostream>
#include <map>
#include <string>
using namespace std;void deleteAllMark(string &s, const string &mark)
{size_t nSize = mark.size();while(1){size_t pos = s.find(mark);    //  尤其是这里if(pos == string::npos){return;}s.erase(pos, nSize);}
}int main()
{string s = " abc  def   ";string b = "abcdef";deleteAllMark(s, " ");cout << ((s==b)? "yes": "no")<< endl;return 0;
}

删除C++ string中的空格相关推荐

  1. 批处理:批量删除所有文件名中的空格

    批量删除所有文件名中的空格,记录下写的批处理文件 方式一: @echo off&setlocal enabledelayedexpansion for /f "delims=&quo ...

  2. html中表格行删除的方法,HTML删除表格行中的空格

    我有关于删除表格单元格中的空格的问题... 即我有那个表格单元格 +------------+ +testtesttest+ + + + + +------------+ 但是如果我在文本中有很多符号 ...

  3. pandas 删除列名字符串中的空格

    import glob import os import pandas as pd csv_path = glob.glob('.\\shares\\*\\*.csv') csv_path 去除列名中 ...

  4. scanner nextstring 空格_毫不起眼的小技巧,居然一分钟删除了数据中所有空格

    每天都有很多粉丝留言或私信我Excel使用中的问题,可以说是五花八门,其实问题的出路在于先要有思路,发现其中的规律,有了思路.规律,问题也就迎刃而解了.今天小编和大家分享两个小技巧: 问题背景:某天一 ...

  5. 快速删除Excel文本中的空格

    在使用EXCEL中的IF.VLOOKUP.COUNTIFS等函数时,若单元格中文本存在空格,会使函数应用出错,导致计算出的数字偏小. BTW:空格也分为不同种,例如普通空格(U+0020).不间断空格 ...

  6. 【C++】去除字符串string中的空格(两头空格、所有空格)

    去除首尾空格: std::string& trim(std::string &s) {if (!s.empty()) {s.erase(0,s.find_first_not_of(&q ...

  7. 025批量删除mac文件名中的空格

    一. 在准备王陆语料库资料时发现给的录音文件好多带有空格,不喜欢这样的,而且不方面mac下搜索和查找,所以想把它全部删掉,命令如下: find . -name "* *"| whi ...

  8. Angular 自定义属性指令-禁止input框输入空格-以及删除复制内容中的空格

    创建一个ts文件,并在module.ts中定义 import { Directive, ElementRef, HostListener, Input } from '@angular/core'; ...

  9. 删除Excel数据中的空格

    可以看到该列数据有空格: 现在我们的需求是将全部数据的空格去掉 第一步:选中数据 完成替换 可以看到数据更新完成

最新文章

  1. RSA加密解密在jsencrypt+c#的实现-博客园加密登录
  2. C 预处理器 —— __DATE__ # __TIME__ # __FILE__ # __LINE__ # __STDC__ (预处理宏的使用 —— 打印debug信息:)
  3. 结合 Mist 在本地测试网络上实现代币智能合约
  4. Linux中Docker部署MySQL
  5. 三角传输的在链路均衡项目中的灵活应用
  6. 修改msde登录方式,设置sa密码为空
  7. php中如何从键盘获取,在javascript中如何获取键盘的keyCode
  8. 格兰杰因果检验_R实现
  9. 科技文献检索课题 计算机,科技文献检索完整作业
  10. php小程序秒抢高并发,微信小程序的10个请求并发限制的优化消息!!!
  11. 隐马尔可夫模型(HMM)推导详解
  12. 【STM32 基础实验矩阵按键】
  13. 做问卷调查最基本的注意事项
  14. 如何使用promise.all
  15. 看《士兵突击》与广告〈某某PLUS〉
  16. mysql基本语句大全6_mysql基本sql语句大全(基础用语篇)
  17. Java实现mds降维_降维算法MDS
  18. 浅谈前端的数据驱动和事件驱动
  19. 2022年种子行业分析
  20. JNI_OnLoad 回调Java_Java本地接口(JNI)编程指南和规范(第八章)

热门文章

  1. 静息态脑电信号谱分析 学习笔记
  2. airpods版本号_Airpods怎么看是第几代?Airpods型号区分教程
  3. 带上数据表,与大家分享拼团活动该如何设计
  4. MB10M-ASEMI整流桥MB10M
  5. Python 环境配置;PPT上五个控制台界面;定义两个数,并且交换它们的值
  6. Mycat 踩坑实录
  7. dota2地形皮肤制作教程
  8. pyhthon数据分析——matplotlib绘制动图且如何保存gif动图
  9. 如何辨别KeyShot中粗糙度和凹凸纹理的区别
  10. 华为手机如何固定横屏_英雄联盟手游,华为手机如何安装,亲测已经开撸