【才疏學淺,難免有紕漏,若有不正確的地方,歡迎指教】 MFC中有一個庫函數 Tokenize(); 函數原型:CStringT Tokenize( PCXSTR pszTokens , int& iStart ) const; 這個函數可以根據某個字元將CString分隔開。 事先設定好緩衝區,被分 ...
【才疏學淺,難免有紕漏,若有不正確的地方,歡迎指教】
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