c++实现split
来源:互联网 发布:培训行业网络推广方案 编辑:程序博客网 时间:2024/05/09 00:14
来自cplusplus.com
// Class splitstring which adds method split()
// define MAIN if this is a standalone program
#define MAIN 1
#include <string>
#include <vector>
#include <iostream>
using namespace std;
class splitstring : public string {
vector<string> flds;
public:
splitstring(char *s) : string(s) { };
vector<string>& split(char delim, int rep=0);
};
// split: receives a char delimiter; returns a vector of strings
// By default ignores repeated delimiters, unless argument rep == 1.
vector<string>& splitstring::split(char delim, int rep) {
if (!flds.empty()) flds.clear(); // empty vector if necessary
string work = data();
string buf = "";
int i = 0;
while (i < work.length()) {
if (work[i] != delim)
buf += work[i];
else if (rep == 1) {
flds.push_back(buf);
buf = "";
} else if (buf.length() > 0) {
flds.push_back(buf);
buf = "";
}
i++;
}
if (!buf.empty())
flds.push_back(buf);
return flds;
}
#ifdef MAIN
main()
{
// we define a string
splitstring s("Humpty Dumpty sat on a wall. Humpty Dumpty had a great fall");
cout << s << endl;
// splits and displays the vector of strings
vector<string> flds = s.split(' ');
for (int k = 0; k < flds.size(); k++)
cout << k << " => " << flds[k] << endl;
// now taking account of repeated delimiters
cout << endl << "with repeated delimiters:" << endl;
vector<string> flds2 = s.split(' ', 1);
for (int k = 0; k < flds2.size(); k++)
cout << k << " => " << flds2[k] << endl;
}
#endif
- split c 实现
- C++:实现split分割字符串
- C++:实现split分割字符串
- C++:实现split分割字符串
- C++:实现split分割字符串
- C++:实现split分割字符串
- C语言实现Split函数
- c/c++ 实现split函数
- C++:实现split分割字符串
- c语言之split实现
- C/C++实现split分割字符串
- MFC实现C#,java中的Split方法
- C/C++实现split分割字符串
- C++:实现split分割字符串 - 改进
- C split 截取特定字符串功能实现
- c语言 split函数的实现
- split.c
- 【C++】Split
- 图片简单的下载
- ping源码
- Java switch中使用string作为分支条件
- ldap配置使用文档
- 【转】csharp: winform using Microsoft.Ink(Tablet PC API) create Signature image
- c++实现split
- linux下OpenCms8.0.3安装教程
- java.sql.SQLException: ORA-00911: invalid character
- 存储过程从定义开始
- 如何屏蔽自动弹出的输入法软件盘
- lucene3.5建立索引和搜索的简单步骤
- 设置对话框图标
- sqlserver出错总结
- Lua语言中pairs和ipairs的区别