想用sccanf分割字符串,以下能够正常
sscanf("111,2009-1-1 00:00:00,333,444,555@","%[^,],%[^,],%[^,],%[^,],%[^@]@",str0,str1,str2,str3,str4)但是如果是
sscanf("111,2009-1-1 00:00:00,,444,555@","%[^,],%[^,],%[^,],%[^,],%[^@]@",str0,str1,str2,str3,str4)
只能取到str0 str1我想后面的str3,str4也能取出来,用sscanf能实现吗?有其他好方法吗?

解决方案 »

  1.   

    sscanf只要遇到不满足的条件就会返回了,而不去继续执行了,估计第二种那样的情况你得把字符串拆开单独提取了
      

  2.   

    试验了下,发现sscanf不能很轻松的实现。
    还是用其他方法吧,我们编程的目标就是为了方法更简单,用strtok吧,支持楼上
      

  3.   

    //,,,这样的格式,不满足之后的条件,直接返回了。
    //除非处理前将",,"替换为" "之类的。
    //支持用strtok
      

  4.   

    谢谢akirya,用strtok实现预期目标