自己写的Split函数+分隔字符串strtok函数的应用(相应于VB中的Split)
CString str="马大哈|马小哈|阿杰1|阿杰2";
char *string = str.GetBuffer(0);
char seps[] = "|";//分隔符
char* save;
save = strtok( string, seps );
while( save != NULL )
{
printf( " %s\n", save );
save=strtok( NULL, seps );
}
str.ReleaseBuffer();
结果:
马大哈
马小哈
阿杰1
阿杰2
VC6下调试通过
/* 自己写的
文本分隔函数阿杰编写于:2011.06.24 */
CStringArray* Split(CString s)
{
/*文本分隔函数*/
static CStringArray sArr;
sArr.RemoveAll();//这句一定要有,否则会出问题
s = _T(s) ;
while(1)
{
INT iFind = s.Find( _T("|"));
if ( iFind < 0 )
{//拷贝最后一个字符
if ( s!= _T("") )
sArr.Add(s) ;
break ;
}
CString sItem = s.Left(iFind);
sArr.Add(sItem);
s = s.Right(s.GetLength() - iFind - 1 );
}
return &sArr;/*返回字符数组的指针*/
}例子: CStringArray* sArr;
sArr=Split("马大哈|马小哈|阿杰1|阿杰2") ;
int i;
for(i=0;i<sArr->GetSize();i++)
cout<<(LPCTSTR)sArr->GetAt(i)<<endl;结果同上 兄弟你这个也不错,不用MFC我哪个需要用MFC的数组类
页:
[1]