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一下