在 C/C++ scanf() 扫描集中指定 ']' 字符
Specifying the ']' character in a C/C++ scanf() scanset
我想使用 scanf 系列函数来提取由“]”分隔的字符串。
对于 ')' 的分隔符,可以这样做:
scanf(" %80[^)]", &buf);
但是一般情况下如何在扫描集中包含“]”(不仅仅是上面的否定集案例示例)?是否有某种转义序列?
"[^\]]"
?
诀窍是将“]”作为模式中的第一个字符:
scanf(" %80[^]]", &buf);
我想使用 scanf 系列函数来提取由“]”分隔的字符串。 对于 ')' 的分隔符,可以这样做:
scanf(" %80[^)]", &buf);
但是一般情况下如何在扫描集中包含“]”(不仅仅是上面的否定集案例示例)?是否有某种转义序列?
"[^\]]"
?
诀窍是将“]”作为模式中的第一个字符:
scanf(" %80[^]]", &buf);