char *str;
str = "(0,1,2,3,4,5)";
int ParseStart = strcspn(str,"(");
int ParseEnd = strcspn(str,")");
char *p = strchr(str,'(') + 1;
char *q = new char[ParseEnd-ParseStart-1];
strncpy(q,p,ParseEnd-ParseStart-1);

strの[(]と[)]に挟まれた部分[0,1,2,3,4,5]を抜き出したいのですが、
上記のような記述でもうまくいかないので、やり方があれば教えてください。