就地标记std :: string

时间:2012-09-20 11:27:51

标签: c++ string

  

可能重复:
  How do I tokenize a string in C++?

有几种可能性来标记std :: string,就像strtok使用C样式字符串一样。我在字符串中找到了boost :: tokenizer,getline或手动迭代。但是这些可能性中的每一种都与strtok不同,因为它们都不到位。他们将字符复制到新字符串(如果我的一个可能的实际工作方式不同,请纠正我),而strtok不需要分配(至少从我的视图 - 内部可能会分配内存)任何内存。

现在我只是好奇是否有任何方法可以实现std :: string的这种行为?我想过通过data访问,但它返回一个const指针。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您可以简单地将tokes作为std::string迭代器对进行标记,从而对std::string进行标记。