2 wq6527899 wq6527899 于 2016.03.11 05:43 提问

怎样用sscanf取数据???

sscanf(str,"(%f)%c(%f)",&data1,&f,&data2);这样只能取出括号里的数,如(-5)+(-6)能把-5,-6和+号取出来,但是当str=“5+6”时就取不出来了,怎样改才能在有括号和没有括号的情况下都能取数。
大神们,指点一下吧,,非常感谢!!!有知道的吗?请赐教,,急等!!

2个回答

qq_22300209
qq_22300209   2016.03.11 08:59
已采纳

有括号部分可以对应写一个提取函数,最后都用不加括号的sscanf读取

qq423399099
qq423399099   Ds   Rxr 2016.03.11 10:15

LZ干脆还是先遍历一下那个str,把左,右括号都丢掉,然后再用sscanf读吧
我试了下%*过滤不好用,sscanf(str,"%*[(]?%f%c(%f)",&data1,&f,&data2);一旦没有碰到(就会读到最后),用上?匹配0到1次也不好用啊。。。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!