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

How do I parse a string based on a certain number of characters in the string in C++?

我知道如何根据分隔符(例如逗号)解析字符串。这个需要把字符串转成char数组吗?

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

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

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

....but I only want the first six

对于第一个 n 字符比较,您可以使用 std::strncmp

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

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

使用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))
{
  ... 
}