最近在弄一个项目,需要读取tex文件,但是函数每调用一次,打开一次文件,调用完之后就会发现再调用就打不开这个文件,数据根本读不出来,后来采取一个最笨的办法,每次调用函数都重新用fopen打开一次文件,最后实在疯了,在网上找了一下资料,明白了其中原理。当我们用一个指针去打开一个文件时,是通过这个指针的移动来读取里面的数据的,如果你又用这个指针的话,你就必须要初始化一下指针,将指针放到初始位置。就是每次用完指针读文件后,在程序后面加一句

 fseek(fp,0,SEEK_SET);  

加这句后,你调用一次fopen就可以多次读取文件,但是记住不要用fclose把文件关了,关了你就不happy了,肯定得重新打开。懂了这些是不是很开心,不用再看到那么多的fopen,想打开几次就几次。

更多推荐

fopen多次打开同一个文件