C++ 如何从std::string中获取多个字符

C++ 如何从std::string中获取多个字符,c++,string,C++,String,我想根据创建文件的日期和时间来命名文件。我正在使用此代码获取日期和时间: auto time = std::chrono::system_clock::now(); std::time_t end_time = chrono::system_clock::to_time_t(time); std::string finaltime = std::ctime(&end_time); 现在,我想从finaltime-字符串中删除所有不需要的空格和信息。为此,我找到了我需要的字符。我需要除1

我想根据创建文件的日期和时间来命名文件。我正在使用此代码获取日期和时间:

auto time = std::chrono::system_clock::now();
std::time_t end_time = chrono::system_clock::to_time_t(time);
std::string finaltime = std::ctime(&end_time);
现在,我想从
finaltime
-字符串中删除所有不需要的空格和信息。为此,我找到了我需要的字符。我需要除11、14、17之外的所有字符(第一个字符的计数器从0开始)

在python中,有一种非常简单的方法可以完成类似的操作,如果需要2到5之间的所有字符,可以说
mystring[2:5]
。c++中是否有类似的东西,或者是否有其他方法删除我需要的字符

使用substr(a,b)


有一个成员函数。还有一个非常明显的删除字符的方法。注意:在C++中有不同的参数,就像python中的子字符串表示法一样-您应该在答案中注意到这一点。
std::string str2 = finaltime.substr (3,5);     // 12:00