C++之字符串常用操作类集合
来源:互联网 发布:12年总决赛詹姆斯数据 编辑:程序博客网 时间:2024/06/10 07:37
## Linux C++中用于字符串操作的工具类
## cstringutils.h
#ifndef CSTRINGUTILS_H#define CSTRINGUTILS_H#include <vector>#include <string>#include <iostream>#include <map>#include <set>#include "typedef.h"using namespace std;class CStringUtils{public: static INT32 split(const string & str,vector<string>& ret_,string sep); static INT32 getXmlNodeValue(const string src ,const string key ,string & value); static string toString(int n); static INT32 StringToINT32(string str);};#endif // CSTRINGUTILS_H
## cstringutils.cpp
/*************************************************************************************************** * @HISTORY * * * * * * * ************************************************************************************************/#include "cstringutils.h"#include <stdlib.h>#include <strstream>/************************************************************************************************** * split string to stringList. *************************************************************************************************/INT32 CStringUtils::split(const string &str, vector<string> &ret_, string sep){ if (str.empty()) return 0; string tmp; string::size_type pos_begin = str.find_first_not_of(sep); string::size_type comma_pos = 0; while (pos_begin != string::npos) { comma_pos = str.find(sep, pos_begin); if (comma_pos != string::npos) { tmp = str.substr(pos_begin, comma_pos - pos_begin); pos_begin = comma_pos + sep.length(); } else { tmp = str.substr(pos_begin); pos_begin = comma_pos; } if (!tmp.empty()) { ret_.push_back(tmp); tmp.clear(); } } return 0;}/************************************************************************************************** * get Xml node`s value from string. *************************************************************************************************/INT32 CStringUtils::getXmlNodeValue(const string src ,const string key ,string & value){ string sNode = "<" + key + ">"; string eNode = "</" + key + ">"; int begin = src.find(sNode ,0); if (string::npos == begin){ return -1; } int end = src.find(eNode ,begin); if (string::npos == end){ return -1; } value = src.substr(begin + sNode.length() , end - begin - sNode.length()); return 1;}/************************************************************************************************** * Convert INT to String. *************************************************************************************************/string CStringUtils::toString(int n){ strstream m; m<<n; string s; m>>s; return s;}/************************************************************************************************** * Convert String to INT32 *************************************************************************************************/INT32 CStringUtils::StringToINT32(string str){ strstream m; m<<str; INT32 n; m>>n; return n;}
0 0
- C++之字符串常用操作类集合
- iOS字符串常用操作集合
- Objective-c 常用字符串操作
- [C++]常用字符串操作整理
- C字符串常用操作处理
- 常用C字符串操作函数
- C语言:常用字符串操作
- Java之字符串常用操作
- C/C++之字符串操作
- 常用C语言字符串操作函数
- C语言字符串操作常用库函数
- 常用C语言字符串操作函数
- C语言常用字符串操作函数
- C语言字符串操作常用库函数
- C语言字符串常用操作(持续更新...)
- Objective-c的字符串的常用操作
- Linux c 开发 - 常用字符串操作全集
- C语言一些常用字符串操作
- UISegmentedControl用法详解
- 阮一峰:jQuery最佳实践
- IOS Runtime(四)
- 敏感性分析 弹性系数 浅析
- discuz3.2显示 ico图标问题
- C++之字符串常用操作类集合
- Cron 表达式详解和案例
- 天生人语
- CocoaPods依赖库使用
- 正则表达式系统教程.CHM
- C++内存管理
- MapReduce操作mysql数据库
- JSONP跨域调用详解
- linux 内核参数调整优化网络