我知道如何根据分隔符解析字符串,例如逗号。这是否需要将字符串转换为char数组?
我想比较一个6位数的字符串,即111222
另一串12个字符的数字,但我只想要前六个。
基本上检查111222是否出现在字符串111222345678中。
答案 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))
{
...
}