c++提取字符串中括号里边的内容
例如 abcd efg h(c13)
括号里内容不固定,字符或者数字,怎么全部提取出来呢?结果是c13
[解决办法]
#include <stdio.h>
#include <locale.h>
char s[]="abcd efg h(c13)";
char t[33];
wchar_t ws[]=L"abcd efg h(c13)";
wchar_t wt[33];
int main() {
if (1==sscanf(s,"%*[^(](%32[^)]",t)) {
printf("%s\n",t);
} else {
printf("Format error:%s\n",s);
}
setlocale(LC_ALL,"chs");
if (1==swscanf(ws,L"%*[^(](%32[^)]",wt)) {
wprintf(L"%s\n",wt);
} else {
wprintf(L"Format error:%s\n",ws);
}
return 0;
}
//c13
//c13
//