NWH

埋骨何须桑梓地,人生无处不青山

  博客园  :: 首页  ::  :: 联系 :: 订阅 订阅  :: 管理

 

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

函数原型:CStringT Tokenize( PCXSTR pszTokens , int& iStart ) const;

这个函数可以根据某个字符将CString分隔开。

事先设定好缓冲区,被分割之后的字符串需要一个缓冲区来存储,比如容器,或者字符数组。

如果不知道会划分多少段,建议使用容器或者动态字符数组来当缓冲区。

循环次数是要进行分割的段落数,比如你想要分割成3段,就设定3.

例子:

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     }

输出结果:

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

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

 

posted on 2017-09-06 12:10  -Cloud-  阅读(2103)  评论(0编辑  收藏  举报