C/C++用指定的字符分割字符串
voidSpliteString(LPCTSTRlpszSrc,StringArray&szaDest,charc)上面的是函数声明...
void SpliteString(LPCTSTR lpszSrc, StringArray &szaDest, char c)
上面的是函数声明 展开
上面的是函数声明 展开
展开全部
//************************************
// Member Name : SplitByPara3
// FullName : SplitByPara3
// Function Description : 字符串分割函数
// Parameter Specification
// string strsrc :呆分割字符串
// char ch :分隔符字符串
// vector<string> & :分割后字符串存放容器
// 所需头文件 sstream.h string.h
//************************************
void SplitByPara3(const string strsrc,vector<string> &vec_output,const char ch)
{
istringstream is(strsrc);
string strtmp;
while(getline(is,strtmp,ch))
{
if (strtmp == "")
{
continue;
}
vec_output.push_back(strtmp);
}
}
例子
vector<string> dt;
SplitByPara3(",dsads",dt);
// Member Name : SplitByPara3
// FullName : SplitByPara3
// Function Description : 字符串分割函数
// Parameter Specification
// string strsrc :呆分割字符串
// char ch :分隔符字符串
// vector<string> & :分割后字符串存放容器
// 所需头文件 sstream.h string.h
//************************************
void SplitByPara3(const string strsrc,vector<string> &vec_output,const char ch)
{
istringstream is(strsrc);
string strtmp;
while(getline(is,strtmp,ch))
{
if (strtmp == "")
{
continue;
}
vec_output.push_back(strtmp);
}
}
例子
vector<string> dt;
SplitByPara3(",dsads",dt);
展开全部
void strge(string &a,char &b,char c)
{
int i=0;
while(*(a+i))//假设a中存在c
{
if(*(a+i)==c)
break;
i++;
}
*(a+i)='\0';//a为前半段
b=a+i+1;//b为后半段
}
{
int i=0;
while(*(a+i))//假设a中存在c
{
if(*(a+i)==c)
break;
i++;
}
*(a+i)='\0';//a为前半段
b=a+i+1;//b为后半段
}
追问
这个算法如果有多个逗号就不行了
追答
那就会取第一个
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
strtok函数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询