在 C/C++ scanf() 扫描集中指定 ']' 字符

Specifying the ']' character in a C/C++ scanf() scanset

本文关键字:字符 集中 扫描 C++ scanf      更新时间:2023-10-16

我想使用 scanf 系列函数来提取由 ']' 分隔的字符串。对于")"的分隔符,可以这样做:

scanf(" %80[^)]", &buf); 

但是,您如何在扫描集中包含"]"(而不仅仅是上面的否定集案例示例)?有没有某种逃生顺序?

"[^\]]"

诀窍是将"]"作为模式中的第一个字符:

scanf(" %80[^]]", &buf);