Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何基于C+;中字符串中的特定数量的字符来解析字符串+;?_C++_String_String Parsing - Fatal编程技术网

C++ 如何基于C+;中字符串中的特定数量的字符来解析字符串+;?

C++ 如何基于C+;中字符串中的特定数量的字符来解析字符串+;?,c++,string,string-parsing,C++,String,String Parsing,我知道如何基于分隔符(如逗号)解析字符串。这是否需要将字符串转换为字符数组 我想比较一个6努美布尔的字符串,即111222 还有一个12个字符长的数字字符串,但我只想要前6个字符 检查111222是否出现在字符串111222345678中的基本方法 ……但我只想要前六个 对于第一个n字符比较,您可以使用 chars1[]=“111222345678”; 字符s2[]=“111222”; std::cout使用std::string,您可以 std::string sample = "111222

我知道如何基于分隔符(如逗号)解析字符串。这是否需要将字符串转换为字符数组

我想比较一个6努美布尔的字符串,即111222

还有一个12个字符长的数字字符串,但我只想要前6个字符

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

……但我只想要前六个

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

chars1[]=“111222345678”;
字符s2[]=“111222”;

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

请记住,检查字符串的前几个字符和检查字符串是否包含在另一个字符串中是两个不同的问题。除此之外,你应该能够使用谷歌哦,我的天哪,它从来没有想过只是比较字符串作为一个整体,而不是切断12个数字字符串的最后6个字符。非常感谢。可能没有那么简单,但我会使用类似于
if(sample.size()>=match.size()&&std::equal(match.begin(),match.end(),sample.begin())
std::string match = "111222";
if (sample.substr(0, match.length()) == match))
{
  ... 
}