格式化输入
scanf
以空白字符为定界符,但如果输入的字符串是以其它字符为定界符的,如果在读取之后再进行字符串处理将会很麻烦,所以我们可以用到一个很有用的东西,[]
就是专门处理这个问题的转换说明符。[]
转换说明符可以通过两种方式产生结果字符集,如果第一个[
字符右边没有抑扬符^
,那么处于[]
之间的字符就是结果字符集,不在其中的可输入字符都作为定界符;如果左边[
符号紧靠一个抑扬符^
,那么意义相反,^
和]
之间的字符是定界符,其余可输入字符是结果字符集。
demo
scanf("%[abcd]", str)
, 输入darrencd
,则str
中的内容是dacd
。scanf("%[^abcd]", str)
, 输入today
,则str
中的内容是to
,遇到定界符之一d
结束读取。