c++中的substr()方法

substr() method in C++

本文关键字:方法 substr 中的 c++      更新时间:2023-10-16

我正试图将一些表达式子串成单独的令牌,如!,&, |()等。我遇到的问题是,当我试图用下面的计算行生成"!(S&B|H)&!(S&J|R)&!(P)"的子字符串时,我得到的是:"(S&J|R)&!(P)",而我认为它应该是:"(S&J|R)"。它要么超出了我所看到的,要么就是太简单了,我就是不明白。任何帮助都会很有帮助。谢谢。

#include <iostream>
#include <string>
using namespace std;
int main(int argc, const char * argv[]) {
string name = "!(S&B|H)&!(S&J|R)&!(P)";
cout<<name.substr(10,16)<<endl;

return 0;
}//Main

我没有很好地理解你的问题,但是如果你想得到

(S&J|R)

你应该这样做:

name.substr(10、7)

第二个参数是长度