用sscanf如何获得字符串中的括号
sscanf()的基本用法我知道,但是假如一个字符串中含有括号,例如:
a={1+(b[2]-b[4])}*3+(b[1]-b[3])/5
我想得到的结果字符串是 {([][])}([][])
如何用 sscanf()做到??
[解决办法]
用strpbrk,参考一下代码
- C/C++ code
char const* exp = "a={1+(b[2]-b[4])}*3+(b[1]-b[3])/5", *key = "{}()[]"; char result[16] = {0}; int i = 0; while((exp = strpbrk(exp+1, key)) != NULL) { result[i++] = *exp; }