今天写的一个拆分以某个字符分割的字符串 ,例如:“kdjf;ks抗毒;素解放sj;afkd散开对;加罚款 ”
此函数可以将以";"分割的分割字符串读出来,虽然很简单,但是很实用,在对关于文件的读写和操作数据库的时候, 可以将要操作的内容格式化成这样的字符串,然后读出来的时候就用这个函数可以很方便的处理好存储的内容。
代码如下:
/**************************************************************************/
/* 拆分以某个字符分割的字符串 */
/* liuxwin */
/* 2006.12.29 */
/* 返回值: 分割后子字符串的数量 */
/* strarray 分割后各个子字符串存放的数组, str 原字符串, flag 分割标记字符*/
/**************************************************************************/
int CAnalyseStrDlg::AnalyseStr(CStringArray &strarray , CString str, CString flag)
{
int nCount ;
int iStart ;
int iEnd ;
CString sTemp ;
nCount = 0 ;
iEnd = 0 ;
iStart = 0 ;
while ( iEnd >= 0 )
{
iEnd = str.Find( flag, iStart ) ;
if ( iEnd >= 0 )
{
sTemp = str.Mid( iStart, (iEnd-iStart ) ) ;
strarray.Add( sTemp ) ;
iStart = iEnd + 1 ;
}
else if ( iEnd < 0 )
{
sTemp = str.Mid( iStart, (str.GetLength() - iStart) ) ;
strarray.Add( sTemp ) ;
}
}
nCount = strarray.GetSize() ;
return nCount ;
}
函数使用方法:
CStringArray strArray ;
AnalyseStr( strArray,
_T("fshjk;jfsl;sjfs;sdfjk")/*要拆分的字符串*/,
_T(";" )/*分割的标记*/ );
//strArray里的内容就是拆分后的每个字符串
for( int i=0; i
AfxMessageBox( strArray.GetAt(i) ;
阅读(2412) | 评论(0) | 转发(0) |