C ++:比较两个字符串

时间:2011-06-06 04:56:42

标签: c++ stdstring

  

可能重复:
  comparing two strings with comma seperated values

我在C ++工作,我有两个字符串:

string str1 = "1,4,8,",
       str2 = "4,1,8,";

两个字符串都包含逗号分隔值。现在我只想检查str1中的所有元素是否也存在于str2中,无论其位置如何。有没有直接的方法来检查这个?我需要为此编写自定义代码吗?

2 个答案:

答案 0 :(得分:9)

就C ++而言,这些字符串只是字符序列。如果你对这些字符应用含义(例如“逗号分隔值”),那么你必须编写一些代码来提取数据并处理它。

我会做类似的事情:

  • 将字符串拆分为','
  • 将每个数字序列转换为整数(跳过空元素)
  • 将这些整数插入一个集合(每个输入字符串一个)
  • 比较集合

由您决定使用何种整数。

答案 1 :(得分:0)

是的,你需要编写自定义代码,尽管不是很多。一旦你找到算法,如果你对如何实现每个部分有进一步的问题,你可以在这里发布。