gcc 4.4.4 c89文件指针和使用fgets
我正在阅读一个文件,并在该文件中,我必须在每一行上做一些操作。
在一个循环中,我调用了一个2个函数,它传递这个文件指针来对这个文件执行2个不同的操作。
但是,因为我正在使用fgets来读取该文本文件的一行。它会自动递增到下一行。所以对于第二个电话,它已经增加了。但是,我想在第一个函数的同一行上执行不同的操作。
FILE *fp = NULL;
fp = fopen("devices.txt", "r");
for each line
get_devicename(fp); <-- calls fgets and operates on line 1, then increments to line 2
get_machine_code(fp); <-- calls gets and already on line 2, I need line 1
end for
为了解决问题,我创建了2个文件指针对象并将它们传递给函数。但是,将来我可能需要在此文本文件上执行更多操作。所以如果我不得不继续创建文件指针的实例,那么扩展性不是很好。
非常感谢您的任何建议,
相当。这个困难显示了程序设计的弱点。 – 2010-08-02 11:03:38