我有一个字符串,我想在每次出现char','时将其拆分。 我想将结果保存在指向字符串的指针向量中。 这样做的最佳方式是什么?
答案 0 :(得分:0)
或者自己写。这个算法很容易用std::find
来编写。
答案 1 :(得分:0)
我使用strtok
来标记字符串,但这有一些缺点:
cstring
的一部分,它用于C风格的字符串,而不是std::string
个对象。如果你有可用的增强功能它并不理想,但它适用于所有C ++实现。
答案 2 :(得分:-1)
"我想在每次char ','
..."
使用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>
。