如何根据C ++中字符串中的一定数量的字符解析字符串?

时间:2015-02-08 18:36:46

标签: c++ string string-parsing

我知道如何根据分隔符解析字符串,例如逗号。这是否需要将字符串转换为char数组?

我想比较一个6位数的字符串,即111222

另一串12个字符的数字,但我只想要前六个。

基本上检查111222是否出现在字符串111222345678中。

2 个答案:

答案 0 :(得分:2)

  

....但我只想要前六个

对于首次n字符比较,您可以使用std::strncmp

char s1[] ="111222345678" ;
char s2[] ="111222";

std::cout << std::strncmp( s1,s2, 6 ) ; // n =6 chars

答案 1 :(得分:2)

使用std :: string,你可以做

std::string sample = "111222345678";

if (sample.substr(0, 6) == "111222")
{
   ... do stuff here if ... 
}

当然,通过将字符串匹配为std::string,可以使其更通用:

std::string match = "111222";
if (sample.substr(0, match.length()) == match))
{
  ... 
}