现在的位置: 首页 > 综合 > 正文

字符串分割 AfxExtractSubString

2013年05月12日 ⁄ 综合 ⁄ 共 767字 ⁄ 字号 评论关闭

BOOL AfxExtractSubString(CString& rString, LPCTSTR lpszFullString, int iSubString, TCHAR chSep = '\n')

参数说明:

rString  保存输出的子字符串

lpszFullString  待分割的字符串

iSubString  提取的子字符串的序号,从0开始。假如你想提取第3段,该参数就输入2

chSep  用于分割的字符,默认的是'\n' 

返回值:分割成功,就返回TRUE;iSubString越界,则返回FALSE

举例说明:

CString str = _T("abc45,78ea,679u,368");

CString strSub;

AfxExtractSubString(strSub, (LPCTSTR)str, 0, ',');  // strSub的内容为abc45

AfxExtractSubString(strSub, (LPCTSTR)str, 3, ',');  // strSub的内容为368

多次使用这个函数的时候,要谨防一个问题,就是越界访问。

while(AfxExtractSubString(csSubString, lpBuffer, i, '\n'))
{ i++;

if(csSubString.Find("cmp") != -1)
{
file.Write(__FLOWER_XX0, strlen(__FLOWER_XX0));// 向文件写入无效指令
}
csSubString = csSubString + "\n";
wsprintf(szSubStr, "单条语句的值:%s", csSubString.GetBuffer(0));
file.Write(csSubString.GetBuffer(0), csSubString.GetLength());
}

办法是先memset一下

抱歉!评论已关闭.