使用sscanf提取一些值

时间:2010-03-11 10:39:22

标签: c

gcc 4.4.2

我有以下代码:

char channels[] = "NumberOfChannel = [2]";

sscanf(channels, "%*[^=]= %d", &chan);

我想知道这意味着什么。据我所知。它忽略了等号。

'^ ignore the character ='

那会是正确的吗?

非常感谢,

1 个答案:

答案 0 :(得分:3)

%*[^=]

[^=]表示匹配不包含=的字符串。 这是POSIX extension *表示丢弃匹配的结果。

(顺便说一下,要正确获得chan您需要sscanf(channels, "%*[^=]= [%d]", &chan);。)