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

【才疏学浅,难免有漏洞,若发生免科学的地方,欢迎指教】

【才疏学浅,难免产生尾巴,若有无科学的地方,欢迎指教】

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

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

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

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

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

是函数可以因某字符将CString分隔开。

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

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

要非清楚会分多少段,建议以容器或者动态字符数组来当缓冲区。

倘不亮会分多少段,建议使用容器或者动态字符数组来当缓冲区。

循环次数是要拓展剪切的段落数,比如您想使分开成3段落,就设定3.

循环次数是只要拓展私分的段落数,比如您想使分开成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     }
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
cout << Temp[0] << endl;
cout << Temp[1] << endl;
cout << Temp[2] << endl;

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

 

 

相关文章