对于代码cin>>char,我输入了3+(5+5*7)=,如何将括号中的内容提取出来?
时间: 2023-12-03 16:44:53 浏览: 78
Java正则提取中括号中的内容操作示例
可以使用字符串流(stringstream)来将输入的字符串转换成字符流,然后通过读取字符一个一个地判断,当遇到左括号时,就将之后的所有字符存入一个字符串中,直到遇到右括号为止。以下是一个示例代码:
```cpp
#include <iostream>
#include <sstream>
#include <string>
using namespace std;
int main() {
string input;
getline(cin, input); // 读取一行输入
stringstream ss(input);
char ch;
string bracketContent;
bool isBracket = false;
while (ss >> ch) {
if (ch == '(') {
isBracket = true;
}
else if (ch == ')') {
isBracket = false;
cout << bracketContent << endl; // 输出括号中的内容
bracketContent.clear(); // 清空字符串
}
else if (isBracket) {
bracketContent += ch;
}
}
return 0;
}
```
运行结果为:
```
5+5*7
```
阅读全文