如何使用sscanf读取括号之间的字符串?

faz*_*oso 0 c linux gcc scanf

我有一些代码读取文本文件并扫描括号中的单词:'['和']'.

当我发现以'[''开头的行时我读了字符串:

line[64] = "[word]";
sscanf(line, "[%s]", resource);

printf("%s\n",resource);

==> word]
Run Code Online (Sandbox Code Playgroud)

但我总是以字符串+括号结束.如何格式化sscanf只读取最后没有括号的字符串?

pmg*_*pmg 7

]scanf()读取的字符集中排除:

char resource[100];
if (sscanf(line, "[%99[^]]]", resource) != 1) /* error */;

/* same as */
if (sscanf(line, "[" "%99[^]]" "]", resource) != 1) /* error */;
/*          literal   scanset   literal */
Run Code Online (Sandbox Code Playgroud)