删除C++ string中的空格
转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中的空格相关推荐
- 批处理:批量删除所有文件名中的空格
批量删除所有文件名中的空格,记录下写的批处理文件 方式一: @echo off&setlocal enabledelayedexpansion for /f "delims=&quo ...
- html中表格行删除的方法,HTML删除表格行中的空格
我有关于删除表格单元格中的空格的问题... 即我有那个表格单元格 +------------+ +testtesttest+ + + + + +------------+ 但是如果我在文本中有很多符号 ...
- pandas 删除列名字符串中的空格
import glob import os import pandas as pd csv_path = glob.glob('.\\shares\\*\\*.csv') csv_path 去除列名中 ...
- scanner nextstring 空格_毫不起眼的小技巧,居然一分钟删除了数据中所有空格
每天都有很多粉丝留言或私信我Excel使用中的问题,可以说是五花八门,其实问题的出路在于先要有思路,发现其中的规律,有了思路.规律,问题也就迎刃而解了.今天小编和大家分享两个小技巧: 问题背景:某天一 ...
- 快速删除Excel文本中的空格
在使用EXCEL中的IF.VLOOKUP.COUNTIFS等函数时,若单元格中文本存在空格,会使函数应用出错,导致计算出的数字偏小. BTW:空格也分为不同种,例如普通空格(U+0020).不间断空格 ...
- 【C++】去除字符串string中的空格(两头空格、所有空格)
去除首尾空格: std::string& trim(std::string &s) {if (!s.empty()) {s.erase(0,s.find_first_not_of(&q ...
- 025批量删除mac文件名中的空格
一. 在准备王陆语料库资料时发现给的录音文件好多带有空格,不喜欢这样的,而且不方面mac下搜索和查找,所以想把它全部删掉,命令如下: find . -name "* *"| whi ...
- Angular 自定义属性指令-禁止input框输入空格-以及删除复制内容中的空格
创建一个ts文件,并在module.ts中定义 import { Directive, ElementRef, HostListener, Input } from '@angular/core'; ...
- 删除Excel数据中的空格
可以看到该列数据有空格: 现在我们的需求是将全部数据的空格去掉 第一步:选中数据 完成替换 可以看到数据更新完成
最新文章
- RSA加密解密在jsencrypt+c#的实现-博客园加密登录
- C 预处理器 —— __DATE__ # __TIME__ # __FILE__ # __LINE__ # __STDC__ (预处理宏的使用 —— 打印debug信息:)
- 结合 Mist 在本地测试网络上实现代币智能合约
- Linux中Docker部署MySQL
- 三角传输的在链路均衡项目中的灵活应用
- 修改msde登录方式,设置sa密码为空
- php中如何从键盘获取,在javascript中如何获取键盘的keyCode
- 格兰杰因果检验_R实现
- 科技文献检索课题 计算机,科技文献检索完整作业
- php小程序秒抢高并发,微信小程序的10个请求并发限制的优化消息!!!
- 隐马尔可夫模型(HMM)推导详解
- 【STM32 基础实验矩阵按键】
- 做问卷调查最基本的注意事项
- 如何使用promise.all
- 看《士兵突击》与广告〈某某PLUS〉
- mysql基本语句大全6_mysql基本sql语句大全(基础用语篇)
- Java实现mds降维_降维算法MDS
- 浅谈前端的数据驱动和事件驱动
- 2022年种子行业分析
- JNI_OnLoad 回调Java_Java本地接口(JNI)编程指南和规范(第八章)