Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/134.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++;像python';s解析包_Python_C++_Stl - Fatal编程技术网

在c++;像python';s解析包

在c++;像python';s解析包,python,c++,stl,Python,C++,Stl,在python中,我使用parse包中的parse,因此如果我有001-044.mp4,我就可以使用一个模板{}-{}.mp4并将其传递给parse并迭代两个结果元素以获得001和004。 我想在C++中使用类似的计数器部分,在这种情况下,我必须根据几个这样的分隔符解析字符串。有什么建议吗

在python中,我使用
parse
包中的
parse
,因此如果我有
001-044.mp4
,我就可以使用一个模板
{}-{}.mp4
并将其传递给
parse
并迭代两个结果元素以获得
001
004

我想在C++中使用类似的计数器部分,在这种情况下,我必须根据几个这样的分隔符解析字符串。有什么建议吗 使用sscanf:

#包括
int main()
{
const char*text=“012-231.mp4”;
int a=0,b=0;
sscanf(文本,“%d-%d.mp4”、&a和&b);
printf(“第一个号码:%d,第二个号码:%d\n”,a,b);
}
使用正则表达式:

#包括
#包括
#包括
int main()
{
std::string text=“012-231.mp4”;
std::regex expr(([0-9]*)-([0-9]*).mp4”);
std::smatch匹配;
标准::正则表达式匹配(文本、匹配、表达式);

std::不能自己创建一个,也不能使用现有的库/正则表达式。不确定您要查找的指针类型。请注意,没有任何代码的问题在这里通常不受欢迎。特别是如果您要求人们显示/编写代码作为答案。