FILE 是C 语言中定义的一个结构类型,它定义在头文件stdio.h 中。当我们利用fopen 函数打开一个文件的时候,它返回的是一个FILE *指针变量。每个FILE *指针变量标识一个特定的磁盘文件(你也可以把指针理解为用来标识一个特定的流,参考5.1 节),FILE 结构内部的成员可以参考程序12-1。这里需要注意,用户绝对不应修改FILE *指针变量指向的结构类型内部的所有数据。
程序12-1 FILE 结构体细节
typedef struct
{
short level; /* 缓冲区‘满’或‘空’的程度*/
unsigned flags; /*文件状态标志*/
char fd; /*文件描述符*/
unsigned char hold; /*如无缓冲区不读字符*/
short bsize; /*缓冲区的大小*/
unsigned char *buffer;/*数据缓冲区的位置*/
unsigned char *curp; /*指针当前的指向*/
unsigned istemp; /*临时文件指示器*/
short token; /*用于有效性检查*/
}FILE;
为什么要返回一个指针呢?因为
本文详细讲解了C语言中的文件操作,包括文件句柄的概念,如FILE结构体和文件指针。文章讨论了路径名的表示,特别是Windows和Unix系统中的区别。此外,解释了'r+'和'w+'模式的区别,并强调了在文件读写中避免同时读写的重要性。文章还讨论了不同操作系统中断行符的差异以及C语言中如何处理这些问题。最后,介绍了文本和二进制文件模式的区别,并探讨了feof函数的使用误区及正确的文件错误处理方法。
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



