_stscanf用法 (一个例子全掌握)

 CString strTest = "aa-bb-cc.dd.ee,ff_55";

char a[10]={0}, b[10]={0}, c[10]={0}, d[10]={0}, e[10]={0}, f[10]={0}, g[10]={0};

_stscanf(strTest.GetBuffer(), "%[^-]-%[^-]-%[^.].%[^.].%[^,],%[^_]_%d", a, b, c , d, e, f, g);


用法说明:

[a-z]匹配a-z之间的任意字符,[ab,]匹配a、b、,、中的任意一个字符,

[^a]匹配非a的任意字符


解释:

第一段:%[^-]意思是:查找字符串"aa-bb-cc.dd.ee,ff_gg"中第一个非字符"-"的字符串,结果为“aa”

第二段:-%[^-]意思是:从字符“-”开始到非字符"-"结束,结果为bb

第三段:-%[^.]意思是:从字符“-”开始到非字符"."结束,结果为cc

第四段:.%[^.]意思是:从字符“.”开始到非字符"-"结束,结果为dd

第五段:.%[^,]意思是:从字符“.”开始到非字符","结束,结果为ee

第六段:,%[^_]意思是:从字符“,”开始到非字符"_"结束,结果为ff

第七段:_%d意思是:从字符“_”开始,后值为数字用%d,结果为55;如果后面为字符串用%s


格式化时间:

int nYear=0, nMonth=0, nDate=0, nHour=0, nMinute=0, nSecond=0;
CString strDateTime="2015-12-09 14:25:30"
_stscanf(strDateTime.GetBuffer(), "%d-%d-%d %d:%d:%d", &nYear, &nMonth, &nDate, &nHour, &nMinute, &nSecond);

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wangwb136

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值