2013-11-09 68 views

回答

0

「我想,炭',' ...每一次分裂爲」

使用std::getline並指定分隔符(最後一個參數)是','

「我要的結果指針的矢量保存到字符串」

你要避免使用指針的向量,相信我。使用std::vector<std::string>代替:

std::istringstream is(",,,my,,weird,string"); 

std::vector<std::string> tokens; 
std::string token; 
while (std::getline(is, token, ',')) { 
    if (!token.empty()) 
     tokens.push_back(token); 
} 

for (int i = 0; i < tokens.size(); ++i) 
    std::cout << tokens[i] << " "; 

輸出my weird string。請不要忘記#include <sstream>

0

我用strtok來標記字符串,但這個有一些缺點:

  • 這是cstring一部分,它用於C風格的字符串,而不是std::string對象。
  • 這是一種笨拙的方式,不得不在第一次後更改參數幾次。

如果您有可用的提升,但它應該適用於所有C++實現,這並不理想。

相關問題