C fscanf 读取方括号之间
C fscanf to read between square brackets
我有一个包含数据的文件
[名字姓氏][生日][id]
当我尝试这段代码时
while(fscanf(file,"%s %s %s",name,bdate,uid) == 3)
bdate 获取姓氏] 作为值
如何读取方括号之间的信息。
谢谢。
你最好使用 fgets()
和一个真正的解析器,但尝试使用 scanf "scanset" 进行快速修复
fscanf(file, " [%[^][]] [%[^][]] [%[^][]]", name, bdate, uid)
// ^ ^ ^ ordinary whitespace
// ^ ^ ^ ^ ^ ^ ordinary characters
// ^^---^ ^^---^ ^^---^ scanset specification
// ^ "reverse" scanlist
// ^^ characters in scanlist
我有一个包含数据的文件
[名字姓氏][生日][id]
当我尝试这段代码时
while(fscanf(file,"%s %s %s",name,bdate,uid) == 3)
bdate 获取姓氏] 作为值
如何读取方括号之间的信息。 谢谢。
你最好使用 fgets()
和一个真正的解析器,但尝试使用 scanf "scanset" 进行快速修复
fscanf(file, " [%[^][]] [%[^][]] [%[^][]]", name, bdate, uid)
// ^ ^ ^ ordinary whitespace
// ^ ^ ^ ^ ^ ^ ordinary characters
// ^^---^ ^^---^ ^^---^ scanset specification
// ^ "reverse" scanlist
// ^^ characters in scanlist