我有一些代码读取文本文件并扫描括号中的单词:'['和']'。
当我发现以'['我开头的字符串开头的行:
line[64] = "[word]";
sscanf(line, "[%s]", resource);
printf("%s\n",resource);
==> word]
但我总是以字符串+括号结束。如何格式化sscanf只读取末尾没有括号的字符串?
答案 0 :(得分:7)
从]
读取的字符集中排除scanf()
:
char resource[100];
if (sscanf(line, "[%99[^]]]", resource) != 1) /* error */;
/* same as */
if (sscanf(line, "[" "%99[^]]" "]", resource) != 1) /* error */;
/* literal scanset literal */