sscanf(str,"%[0-9]",buf);怎么不能读出str中的数字?假如str="不能读123出",buf应该为"123"吧?我的怎么读不出,麻烦大家给我说下详细的使用,谢谢

解决方案 »

  1.   

    sscanf 没有那么强大,遇到不是0-9的字符就结束了,所以,buf中没有内容。
    lz的功能要用正则表达式。
      

  2.   

    unsigned int n;
    sscanf(str,"%u",&n);
      

  3.   

    原来是这样,我以前看过的例子sscanf(“123爱的色放”"%[0-9]",buf);误会了。。谢小帅,我还是老老实实一个字符一个字符的读算了
      

  4.   

    这样肯定是不行的。有两种方法:
    1、自己写一个解析函数,把str中的数字解析出来。
    2、引入正则表达式类,用正则表达式找出其中的数字来。