+ -
当前位置:首页 → 问答吧 → sscanf 请教

sscanf 请教

时间:2010-08-02

来源:互联网

做一个日期转换的,可能有英文可能有中文可能有数字。能知道他的模板,根据模板,能知道他的format。我用sscanf把年月日时间等取出来。可是每次得到的都是一样的内容。


time = "2005-07-05 06:07:15";

sscanf(time, "%s-%s-%s %s:%s:%s", str1, str2, str3, str4, str5, str6);

得到的str1-6怎么全都是2005-07-06?

作者: lssliu   发布时间: 2010-08-02

time = "January,  10   2010  06:07:15";

sscanf(time, "%s, %s    %s %s:%s:%s", str1, str2, str3, str4, str5, str6);

作者: lssliu   发布时间: 2010-08-02

回复 lssliu
  1. sscanf("2005-07-05 06:07:15", "%[^-]-%[^-]-%s %[^:]:%[^:]:%s", ... );
复制代码
注意别溢出。

作者: OwnWaterloo   发布时间: 2010-08-02

因为%s表示匹配字符串,只有当遇到空格,tab这类字符时才认为字符串结束
LZ可以用%d或者用正则(像LS那样)

作者: empty141   发布时间: 2010-08-02

相关阅读 更多