首先,利用isspace(),去除字符串头、字符串尾的空格全部清除;
并且,把字符串中间的连续两个以上的空格变成一个空格;
然后,利用空格作为分隔符,把字符串分成几个子字符串;比如 中国, 123,。。。。
例如:
CString CCtrl::onDeleteSpace(CString in)
{
/*剪切 所有空白字符, 包括空格(' '),水平制表符('\t'),回车符('\r'),
走纸换行('\f'),垂直制表符('\v'),换行符('\n')*/
CString buf = in;
for(int i=0; ; i++)
{
if(i >= buf.GetLength()) break;
// if((buf.GetAt(i) == 0x20) || (buf.GetAt(i) == '\t') || (buf.GetAt(i) == '\v'))
if(iswspace(buf.GetAt(i)))
{
buf = buf.Left(i) + buf.Right(buf.GetLength() - i -1);
}
}
return buf;
}
void GetStrings(const char *pszSrc, std::vector
{
vecDes.clear();
char *pszCopy = new char[strlen(pszSrc) + 1];
strcpy(pszCopy, pszSrc);
const char *pszTok = " ,.;";
char *pszTemp = strtok(pszCopy, pszTok);
while (pszTemp != NULL)
{
vecDes.push_back(pszTemp);
pszTemp = strtok(NULL, pszTok);
}
delete []pszCopy;
}
sscanf(dst, "%s%d", s1, &a)
~向水边林下长养圣胎亦不枉受人天供养”百伶百俐极伶俐乖巧明马梦龙《醒世恒言》第二十七卷那焦氏生得有六,