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