stl string 使用(转载)
出处:http://www.cnblogs.com/lzjsky/archive/2011/01/23/1942508.html
1. 查找字符
std::wstring strData = L"<result>[北京市, 上海市, 深圳市]</result>"
void DoF(const std::wstring &strData, std::list<std::wstring>& listDo)
{
std::wstring strTarB = L"<result>[";
std::wstring strTarE = L"]</result>";
std::wstring::size_type nBeginTempB = , nEndTempB = , nBeginTempE = , nEndTempE = ;
nEndTempB = strData.find(strTarB, nBeginTempB);
nEndTempE = strData.find(strTarE, nBeginTempE);
if(nEndTempB != std::wstring::npos && nEndTempE != std::wstring::npos && nEndTempE > nEndTempB + strTarB.length())
{
std::wstring strTemp = strData.substr(nEndTempB + strTarB.length(), nEndTempE - nEndTempB - strTarB.length());
std::wstring strSub;
strTemp += L",";
std::list<std::wstring>::iterator it;
listDo.clear();
std::wstring::size_type nBegin = , nEnd = ;
while( (nEnd = strTemp.find(L",", nBegin)) != std::wstring::npos)
{
strSub = strTemp.substr(nBegin, nEnd - nBegin);
if(strSub.length() > )
{
listDo.push_back(strSub);
}
nBegin = nEnd + ;
}
}
}
2. 替换字符串
stl 中的string只是提供了按照位置和区间的replace函数,而不能用一个string字串来替换指定string中的另一个字串.
void string_replace(std::string& strBig, const std::string & strsrc, const std::string &strdst)
{
std::string::size_type pos = ;
while( (pos = strBig.find(strsrc, pos)) != string::npos)
{
strBig.replace(pos, strsrc.length(), strdst);
pos += strdst.length();
}
}
// 使用
std::string strinfo= "This is Winter, Winter is a programmer. Do you know Winter?";
// 把strinfo中的所有"Winter" 替换为"wende"
string_replace(strinfo, "Winter", "wende");
stl string 使用(转载)的更多相关文章
- 格式字符串分配stl::string
代码非常easy,不解释,直接在代码: #include <cstdio> #include <cstdarg> #include <iostream> using ...
- 深入剖析 linux GCC 4.4 的 STL string
转自: 深入剖析 linux GCC 4.4 的 STL string 本文通过研究STL源码来剖析C++中标准模板块库std::string运行机理,重点研究了其中的引用计数和Copy-On-Wri ...
- 浅谈C++ STL string容器
浅谈C++ STL string容器 本篇随笔简单讲解一下\(C++STL\)中\(string\)容器的使用方法及技巧. string容器的概念 其实\(string\)并不是\(STL\)的一种容 ...
- C++标准模板库Stand Template Library(STL)简介与STL string类
参考<21天学通C++>第15和16章节,在对宏和模板学习之后,开启对C++实现的标准模板类STL进行简介,同时介绍简单的string类.虽然前面对于vector.deque.list等进 ...
- 转C++之stl::string写时拷贝导致的问题
前几天在开发某些数据结构到文件的 Dump 和 Load 功能的时候, 遇到的一个 bug . [问题复现] 问题主要出在 Load 过程中,从文件读取数据的时候, 直接使用 fread 的去操作 s ...
- [转载] C++ STL string的Copy-On-Write技术
原文: http://coolshell.cn/articles/12199.html stl的string是经过严格优化的, 深入理解对以后编程过程中应用string非常有益处, 感谢左耳朵耗子的精 ...
- 【转载】 C++ stl string 操作
总结一下C++中string的操作,来自〈C++ Primer〉第四版. 1. string对象的定义和初始化: 12345678910111213 string s1; //空串string ...
- STL——string
C++之string类型详解 之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必担心内存是否足够.字符串长度等等,而且作为一个泛型类出现,他集成的操作函 ...
- stl, string不仅是charString, 更是byteString
转载至:http://chzhou.blog.sohu.com/97459512.html 以前一直没有注意到STL中的string的length函数,但一直用它.天真的以为它会返回字符串的长度 ...
随机推荐
- Time Profiler Instrument分析卡顿
https://www.jianshu.com/p/080108c969e8 启动Time Profile:Xcode ——> Product ——> Profile ——> Tim ...
- render, render_to_response, redirect,
自django1.3开始:render()方法是render_to_response的一个崭新的快捷方式,前者会自动使用RequestContext.而后者必须coding出来,这是最明显的区别,当然 ...
- 单调栈&单调队列学习笔记!
ummm,,,都是单调系列就都一起学了算了思想应该都差不多呢qwq 其实感觉这俩没有什么可说的鸭QAQ就是维护一个单调的东西,区别在于单调栈是一段进一段出然后单调队列是一段进另一段出?没了 好趴辣重点 ...
- IO流(10)复制多级文件夹
import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.File;import ja ...
- easyUi引入方法
1:创建一个动态web工程: 去官网http://www.jeasyui.net/download/下载官网文档 我去官网下载的最新版本,个人根据自己的需求下载即可.2:在webConte ...
- 【Pyton】【小甲鱼】爬虫4-XXOO
import urllib.request import os def open_url(url): req=urllib.request.Request(url) req.add_header('U ...
- hashcode()和equals()的作用、区别、联系
介绍一. hashCode()方法和equal()方法的作用其实一样,在Java里都是用来对比两个对象是否相等一致,那么equal()既然已经能实现对比的功能了,为什么还要hashCode() ...
- abap 基本知识
sap gui 安装教程:http://www.itpub.net/forum.php?mod=viewthread&tid=2090890 1:abap 基本数据类型: i(整型),f(浮点 ...
- jmeter 测试websocket接口(二)
1.到https://github.com/maciejzaleski/JMeter-WebSocketSampler下载Jmeter的WebSocket协议的支持插件:JMeterWebSocket ...
- Android弹性滑动的三种实现方式
引言 上一篇文章我们介绍了实现弹性滑动的三种方式,但仅仅是给出了代码片段和方法理论.今天我们结合一个具体的例子来谈一下如何使用这三种方法来实现弹性滑动.今天我们的例子是仿IOS的下拉操作,我们知道An ...