Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用sscanf提取一些值_C - Fatal编程技术网

使用sscanf提取一些值

使用sscanf提取一些值,c,C,通用条款4.4.2 我有以下代码: char channels[] = "NumberOfChannel = [2]"; sscanf(channels, "%*[^=]= %d", &chan); 我想知道这是什么意思。据我所知。它忽略了等号 '^ ignore the character =' 是这样吗 非常感谢, %*[^=] [^=]表示匹配不包含=的字符串。这是一个很好的例子。*表示放弃匹配结果 (顺便说一句,要正确获取chan您需要sscanf(通道“%*[^=]=[

通用条款4.4.2

我有以下代码:

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

sscanf(channels, "%*[^=]= %d", &chan);
我想知道这是什么意思。据我所知。它忽略了等号

'^ ignore the character ='
是这样吗

非常感谢,

%*[^=]
[^=]
表示匹配不包含
=
的字符串。这是一个很好的例子。
*
表示放弃匹配结果


(顺便说一句,要正确获取
chan
您需要
sscanf(通道“%*[^=]=[%d]”,&chan);

实际上,sscanf[]主要用于读取空白字符。我们可以在正则表达式中使用类似字符的类。在该语句中,sscanf不读取任何值。
[^
在可从获得的C标准中进行了描述,并且不是POSIX扩展。