【发布时间】:2018-03-05 19:07:51
【问题描述】:
我正在尝试使用
从文件中读取字符串while(fscanf(fd, "%s ", word) != EOF) {}
fd 是文件,word 是我存储字符串的位置。 但是,这有效地使用了空白作为分隔符。目前,如果我有一个读取“this% is, the4 str%ng”的文件,它将导致字符串“this%”、“is”、“the4”和“str%ng”。我需要它是“this”“is”“the”“str”“ng”。是否可以使用 fscanf 执行此操作,或者我需要使用其他东西吗?
【问题讨论】:
-
fscanf() 返回扫描的项目数。那怎么可能是EOF?
-
来自手册页“如果在任何转换之前发生输入失败,则返回值EOF”。但将返回值与预期转化次数进行比较更好。