- #define MAX_LEN 512
- //其中Sep是分隔符,szText是原字符串,szResult是待存储结果的缓存参数,LeftFirst是确定以最左分隔符还是最右分隔符为界限
- void GetSubStr(const char* szText,const char Sep,
- char (&szResult)[MAX_LEN],bool LeftFirst)
- {////拆解第一个分隔符之左侧的子串并返回.如果LeftFirst=false,则
- ////以最右边的分隔符为基准找出该分隔符左侧的所有子串并返回
- int Len1,Len2;
- char *szPara=new char[MAX_LEN];
- char *pSub=new char[MAX_LEN];
- char *pSep=pSub;
- memset(pSub,0,MAX_LEN);
- memset(szResult,0,MAX_LEN);
- strcpy(szPara,szText);
- if (LeftFirst)
- {
- pSub=strchr(szPara,Sep);
- }
- else
- {
- pSub=strrchr(szPara,Sep);
- }
- if(pSub!=NULL)
- {
- Len1=strlen(szPara);
- Len2=strlen(pSub);
- memmove(szResult,szPara,Len1-Len2);
- }
- delete [] pSep;
- delete [] szPara;
- return;
- }
- //该片段来自于http://www.codesnippet.cn/detail/151120137223.html
来源: http://www.codesnippet.cn/detail/151120137223.html