我有一些代码读取文本文件并扫描方括号之间的单词:“[”和“]”。
当我找到以 '[' 开头的行时,我读取字符串:
line[64] = "[word]";
sscanf(line, "[%s]", resource);
printf("%s\n",resource);
==> word]
但我总是以字符串+括号结尾。如何格式化 sscanf 以仅读取末尾没有括号的字符串?
最佳答案
从 scanf()
读取的字符集中排除 ]
:
char resource[100];
if (sscanf(line, "[%99[^]]]", resource) != 1) /* error */;
/* same as */
if (sscanf(line, "[" "%99[^]]" "]", resource) != 1) /* error */;
/* literal scanset literal */
关于c - 如何使用 sscanf 读取括号之间的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9941962/