你也可以用fseek
来控制指针的位置。关闭文件后
记得把指针置成null,希望能帮到你~
FILE 是系统定义的一种结构类型的名称。
FILE *fp; 变量类型声明。声明 fp 是 FILE型指针,用于指向FILE类型 (文件结构)。
文件流-- 排成一队,有先后次序的 输入(或输出)一串数据,驻留并通过 输入输出缓冲区,进出程序。如同水流般地流入或流出。它来自文件或写入文件。
扩展资料:
在程序运行时,常常需要将一些数据(运行的最终结果或中间数据)输出到磁盘上存放起来,以后需要时再从磁盘中输入到计算机的内存。这就要用到磁盘文件。
C语言将文件看作是一个字符(字节)的序列,即一个一个字符(字节)的数据顺序组成。根据数据的组成形式,可分为ASCII文件和二进制文件。ASCII文件又称文本(text)文件,它的每一个字节可放一个ASCII码,代表一个字符。二进制文件是把内存中的数据按其在内存中的存储形式按原样输出到磁盘上存放。
参考资料来源:百度百科-C文件
问题1,为什么不能直接用流 jun ,而是要创建一个readhai,在接下来用strstr查找readhai?
解答:你可以理解成流只是固定的一段内存,打开文件以后,文件会加载到这段内存里,但不是整个文件加载,而是加载一部分,所以文件流需要顺序读写,或者重新定位,这样,才知道这段内存保存的是文件的哪个部分,通俗点说,这个是水龙头,你能通过水龙头放水。
你要使用文件的一部分(字符串或者一段文字),那么你必须将这个段文字拷贝出来,或者读出来,保存到你自己的存储空间里,这里是拷贝到一个数组里,然后再使用这个字符串,通俗点说,这个是把水龙头的水接到杯里,然后你可以处置这杯水了。
问题2,能告诉一下while循环里的编辑思路嘛
解答:while里是循环读一个字符串,然后比较这个字符串是不是与函数参数的字符串相同,相同就输出,不相同就继续读,直到文件结束。这个就像水龙头接在酒桶上,酒里还泡着几个枸杞,你接一杯水,检查一下有没有枸杞,有就挑出来(输出),没有继续接下一杯,直到酒桶里没有酒了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)