用sscanf如何获得字符串中的括号

Das_Herz 2012-10-20 02:09:17
sscanf()的基本用法我知道,但是假如一个字符串中含有括号,例如:
a={1+(b[2]-b[4])}*3+(b[1]-b[3])/5
我想得到的结果字符串是 {([][])}([][])
如何用 sscanf()做到??
...全文
298 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
a530877647 2012-12-06
  • 打赏
  • 举报
回复
引用 1 楼 mujiok2003 的回复:
用strpbrk,参考一下代码 C/C++ code?1234567 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, k……
第一个字符就是括号怎么办
mujiok2003 2012-10-20
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
用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)) != N……
[/Quote]

需要头文件 <string.h>(C) 或 <cstring>(C++), 顺便提一下
mujiok2003 2012-10-20
  • 打赏
  • 举报
回复
用strpbrk,参考一下代码

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;
}

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧