写的一个split函数

vector<string> strsplit(const string& str)
{
	vector<string> vec;
	string sstr1=str, sstr2="";
	size_t np=0;
	while (sstr1!="")
	{
		size_t dt = sstr1.find(',');
		if (dt != string::npos)
		{
			sstr1 = str.substr(np, dt);
			sstr2 = str.substr(np+dt+1);
			np += dt+1;
		}
		vec.push_back(sstr1);
		sstr1 = sstr2;
		sstr2="";
	}
	return vec;
}

写的一个split函数

时间: 2024-10-27 11:59:15

写的一个split函数的相关文章

数据结构与算法-字符串写出一个strlen函数

写出一个strlen函数 int strlen( const char *str ) //输入参数const { assert( str != NULL ); //断言字符串地址非0 int len=0; while( (*str++) != '' ) { len++; } return len; }

用Python写了一个postgresql函数,感觉很爽

CREATE LANGUAGE plpythonu; postgresql函数 CREATE OR REPLACE FUNCTION myfun1(text) RETURNS text AS $BODY$ s = args[0] h = 0; n = len(s); for i, c in enumerate(s): h = h + ord(c)*31**(n-1-i); bits = 4*8; return (h + 2**(bits-1)) % 2**bits - 2**(bits-1) $

【原创】自己动手写的一个查看函数API地址的小工具

C开源代码如下: #include <stdio.h> #include <windows.h> #include <winbase.h> typedef void (*Myproc)(LPTSTR); int main() { HINSTANCE LibHandle; Myproc ProcAdd; printf("作者:admin-神风 QQ1976604307\n"); char dllbuf[11];//char dllbuf[11]=&qu

基于memcached中命令分析函数tokenize_command改造的split函数

今天使用C重构php代码,需要手写一个split函数,于是就模仿memcached中获取用户命令的函数 static size_t tokenize_command(char *command, token_t *tokens, const size_t max_tokens) 写了一个简单的split函数: char** split(char pattern,char *str) { if(!pattern || (strlen(str) <= 0)) return NULL; char **

《Effective C 》资源管理:条款25--考虑写出一个不抛出异常的swap函数

条款25考虑写出一个不抛出异常的swap函数 条款25:考虑写出一个不抛出异常的swap函数 swap是STL中的标准函数,用于交换两个对象的数值.后来swap成为异常安全编程(exception-safe programming,条款29)的脊柱,也是实现自我赋值(条款11)的一个常见机制.swap的实现如下: namespace std{ template<typename T> void swap(T& a, T& b) { T temp(a); a=b; b=temp;

条款25:考虑写出一个不抛异常的swap函数

条款25:考虑写出一个不抛异常的swap函数 swap函数在C++中是一个非常重要的函数,但实现也非常复杂. 看一个缺省的std::swap函数的实现 namespace std { template<typename T> void swap( T& a , T& b) { T temp(a); a = b; b = temp } } ①内置类型的调用 int a = 2; int b =3; std::swap(a, b); cout<<"a:&quo

写了一个二叉树构造及中序遍历函数

本题就是测试读入数据的速度的. 如果有大量的数据读入,使用cin是很慢的. 那么使用scanf那么会快很多,但是如果数据量更大的话那么就还是不够快了. 所以这里使用fread. 首先开一个buffer,然后使用fread大块大块地读入数据就可以非常快地读入了. 题目如下: Input The input begins with two positive integers n k (n, k<=107). The next n lines of input contain one positive

Effective C++ Item 25 考虑写出一个不抛异常的swap函数

本文为senlie原创,转载请保留此地址:http://blog.csdn.net/zhengsenlie 经验:当std::swap对你的类型效率不高时,提供一个swap成员函数,并确定这个函数不抛出异常 示例: stl里的swap算法 namespace std{ template<typename T> void swap(T &a, T &b){ T temp(a); a = b; b = temp; } } //"pimpl手法"(pointer

《Effective C++》item25:考虑写出一个不抛异常的swap函数

std::swap()是个很有用的函数,它可以用来交换两个变量的值,包括用户自定义的类型,只要类型支持copying操作,尤其是在STL中使用的很多,例如: int main(int argc, _TCHAR* argv[]) { int a[10] = {1,2,3,4,5,6,7,8,9,10}; vector<int> vec1(a, a + 4); vector<int> vec2(a + 5, a + 10); swap(vec1, vec2); for (int i =