今天发现个库函数很好用sscanf, 但是在KEIL下跟IAR下效果竟...

2019-12-20 21:41发布

本帖最后由 3050311118 于 2013-10-12 12:49 编辑

#include<stdio.h>

char buf[50];

void main()
{
        sscanf("123456abcdedfBCDEF", "%[^A-Z]", buf);
        while(1);
}

这边
取到指定字符集为止的字符串。如在下例中,取遇到大写字母为止的字符串。
sscanf("123456abcdedfBCDEF", "%[^A-Z]", buf);
printf("%s ", buf);
结果为:123456abcdedf

KEILC51调试都是  0

IAR下正常
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
dashashi
1楼-- · 2019-12-20 22:51
看看编译选项,有没有关于精简scanf啥的东西- -
又或者%[^A-Z]不是标准C里面的东西么- -
a136498491
2楼-- · 2019-12-21 02:52
我来挖坟了,目前发现的情况是:https://wenku.baidu.com/view/2b8 ... 886c1d.html?re=view
里面提到一句:MDK不支持A-Z这种写法,我试的情况是支持ABCDEFGHIJKLMNOPQRSTUVWXYZ这种写法。。。。真坑,队友用的MDK,没法用IAR
hyz_avr
3楼-- · 2019-12-21 08:09
类似简单的正则表达式,只是KEILC51不能用,还是MDK ARM也不能用?

一周热门 更多>