在 C/C++ scanf() 扫描集中指定 ']' 字符
Specifying the ']' character in a C/C++ scanf() scanset
我想使用 scanf 系列函数来提取由 ']' 分隔的字符串。对于")"的分隔符,可以这样做:
scanf(" %80[^)]", &buf);
但是,您如何在扫描集中包含"]"(而不仅仅是上面的否定集案例示例)?有没有某种逃生顺序?
"[^\]]"
?
诀窍是将"]"作为模式中的第一个字符:
scanf(" %80[^]]", &buf);
相关文章:
- C++字符*缓冲区的大小
- HEX值到wchar_t字符(UTF-8)的转换
- 为什么 Serial.println(<char[]>);返回随机字符?
- 我的字符计数代码计算错误.为什么
- 字符串-C++后显示的随机字符
- 将Integer转换为4字节的unsined字符矢量(按大端字节顺序)
- 如何在C++中从字符串中分割字符
- 为什么msgrcv()将垃圾字符馈送到缓冲区
- 指向指向字符数组的指针数组的指针
- 如何用转义符替换字符串中的所有特殊字符
- 为什么 sscanf 无法从一个字符串中读取uint64_t和字符?
- 比较字符数组
- 我是否不正确地集中了这些字符数组?
- 如何从数据集中读取特定的字符列
- 在 C/C++ scanf() 扫描集中指定 ']' 字符
- 如何计算编码在任意字符集中的字符串中的字符数
- 尝试解码不在base64字符集中的值
- 访问内联程序集中的动态字符数组(VS2012)
- 将连字符作为元素包含在scanf()的扫描集中,如果它是列表中的第一个字符或最后一个字符
- 是否有任何库可以确定数值是否可以转换为特定字符集中的有效、可打印且有意义的字符