MFC中怎么着分割CString类型的多寡

早期设定好缓冲区,被分割之后的字符串供给叁个缓冲区来囤积,比方容器,大概字符数组。

输出结果:

cout << Temp[0] << endl;
cout << Temp[1] << endl;
cout << Temp[2] << endl;

//打印:      abc
//             def
//             ghi

MFC中有二个库函数 Tokenize();

1 CString str="abc,def,ghi"; //需要分割的字符串
2 vector<CString>Temp;      //分割之后的每个部分,分别存入容器中
3 int pos = 0;                       //函数需要的标记参数
4 for(int i = 0; i < 3; i++)
5     {
6       Temp.push_back(str.Tokenize(","),pos);
7       //如果输出temp中的每个元素,则分别输出abc def ghi
8     }

只要不明了会分开多少段,提议使用容器恐怕动态字符数组来当缓冲区。

【才疏学浅,难免有尾巴,若有不正确的地方,接待指教】

其一函数能够依赖有些字符将CString分隔离。

巡回次数是要举行划分的段落数,比如您想要分割成3段,就设定3.

函数原型:CStringT Tokenize( PCXST安德拉 pszTokens , int& iStart ) const;

 

例子: