作为示例,我有一个包含此文本的文本文件:"name?"
我想将此字符串仅保存为name?
我尝试("%["]")
,但这不起作用。
我应该使用哪种功能?
答案 0 :(得分:2)
The scanf
and fscanf
functions工作完全相同。但是你的格式是错误的。
尝试改为,例如"\"%[^\"]\""
作为您的格式。
第一个和最后一个"
用于标记字符串的开头和结尾。在字符串内部,不能使用普通的双引号,因为它将结束字符串。所以这些必须使用反斜杠进行转义。
如果我们将格式字符串分解为三个主要组件:
\"
- 这与文字双引号%[^\"]
- 这匹配包含双引号的字符串 not (否定就是^
所做的事情)\"
,以匹配输入的结束引用