/************************************************* Function: GetStringsFromCharacterSet Description: 将字符串lpszCharSet分解成多个 字符串lpszString,分隔符为lpszFlag Calls: Called By: Table Accessed: Table Updated: Input: lpszCharSet 待分解的字符串 lpszFlag 分隔符 wArrSize 二维数组的元素长度 Output: lpszString 分解后的多个字符串,通常可以使用二维数组 Return: 分解到的字符串个数 Others: *************************************************/ WORD CLookupClientDlg::GetStringsFromCharacterSet(LPCTSTR lpszCharSet, LPTSTR lpszString, LPCTSTR lpszFlag, WORD wArrSize) { // 判断输入字符串是否为空 int nLen; if ((nLen = _tcslen(lpszCharSet)) == 0) { return 0; } // 解析字符串 WORD wCount = 0; // 已分解的字符串个数 int i = 0; int nIndexOld = 0; // 记录前一个分隔符之后的第一个位置 while ((i < nLen)) { if (_tcsncmp(lpszCharSet + i, lpszFlag, 1) == 0) { _tcsncpy(lpszString + wCount*wArrSize, lpszCharSet + nIndexOld, i - nIndexOld); nIndexOld = i + 1; wCount++; } i++; } return wCount; }