2010-04-29 51 views

回答

0

假设输入文件是可搜索(而不是,例如,管道或网络流),你可以这样做:

fgetpos(tracefile, &position_before); 
fscanf(tracefile, "%s ", opcode); 
if (need_to_rescan) { fsetpos(tracefile, position_before); } 

备份和重新扫描可能是非常低效的(以及问题不支持来自管道的输入等),所以你可能要考虑是否有其他选择。

3

我几乎从不直接使用fscanf,因为知道文件指针在错误状态下的位置是一种痛苦。

我使用fgets来拉一行,然后我可以使用sscanf来记录我心中的内容,而不必返回到文件重新读取。

+0

+1,我会这样做,而不是重读。 – 2010-04-29 14:06:49