使用sscanf提取一些值
通用条款4.4.2 我有以下代码:使用sscanf提取一些值,c,C,通用条款4.4.2 我有以下代码: char channels[] = "NumberOfChannel = [2]"; sscanf(channels, "%*[^=]= %d", &chan); 我想知道这是什么意思。据我所知。它忽略了等号 '^ ignore the character =' 是这样吗 非常感谢, %*[^=] [^=]表示匹配不包含=的字符串。这是一个很好的例子。*表示放弃匹配结果 (顺便说一句,要正确获取chan您需要sscanf(通道“%*[^=]=[
char channels[] = "NumberOfChannel = [2]";
sscanf(channels, "%*[^=]= %d", &chan);
我想知道这是什么意思。据我所知。它忽略了等号
'^ ignore the character ='
是这样吗
非常感谢,
%*[^=]
[^=]
表示匹配不包含=
的字符串。这是一个很好的例子。*
表示放弃匹配结果
(顺便说一句,要正确获取
chan
您需要sscanf(通道“%*[^=]=[%d]”,&chan);
)实际上,sscanf[]主要用于读取空白字符。我们可以在正则表达式中使用类似字符的类。在该语句中,sscanf不读取任何值。[^
在可从获得的C标准中进行了描述,并且不是POSIX扩展。