关于文件数据结构的问题?

时间:2011-03-26 15:10:43

标签: file

HI, 我正在地址阅读一些C文本:https://cs.senecac.on.ca/~btp100/pages/content/files_p.html 在文中,他们提到文件数据结构为图像:

enter image description here

我不明白文件数据结构中包含的内容以及它如何连接到物理文件? 有人可以详细说明吗? 感谢。

1 个答案:

答案 0 :(得分:1)

如评论中所述,您不需要访问FILE*指向的对象的详细信息 - 使用fread()fgetc()等。

如果你想知道它包含什么,那么定义通常是在stdio.h中,但它不会提供很多信息!

它的作用是为“原始文件”提供一个缓冲区,由文件描述符(通常只是一个int)表示,并与open()read()等函数一起使用。内部字段用于管理缓冲区,文件中的位置,错误标记等。

如果使用fgetc()从文件中读取一个字符,该库实际上将从基础文件描述符加载一个数据块,存储它并返回一个字符。下次使用fgetc()时,它会从其商店中获取下一个字符,而不必再次访问实际文件。一旦返回了商店中的所有字符,就会访问底层文件以获取下一个块。如果您想逐个字符地阅读,这会更有效。同样适用于使用fputc()进行书写。

值得注意的是,文件描述符实际上可能不是磁盘上的文件,它可能是串口,管道或其他东西。