sscanf在C99中做出了奇怪的回报

时间:2018-02-12 20:37:06

标签: scanf c99

我通常没有问题使用sscanf,但在这种情况下,我迷路了。有人可以帮帮我吗?

char pcStr[12] = {"+CVTER: 6,1\0"};

uint32_t aa,bb;

sscanf(pcStr, "%*[^:] %*2c %zu[^,] %*c %zu", &aa, &bb);

aa = 6这没关系

bb =未定义的值应为1。

为什么会这样?

1 个答案:

答案 0 :(得分:0)

[^,]匹配四个文字字符。您的意思是使用%*[^,]吗?