可能重复:What's the difference between a file descriptor and file pointer?
如果我这样打开文件:
FILE *fp = fopen("mr32.txr","r");
然后fp
是文件指针还是文件描述符?它们之间有什么区别?
fp是FILE指针
文件指针:
文件描述符:
基于此link
这是您要的FILE
结构的指针。文件描述符是整数。 FILE
结构及其相关的API是C标准的一部分。文件描述符及其相关功能不是。在实践中,尽管此处和此处的默认行为存在一些显着差异,但是您可以互换使用这两组函数。您可以阅读手册页以了解哪些函数采用哪种参数。在具有文件描述符的系统上,通常可以使用fdopen(3)
函数从打开的文件描述符中获取FILE
结构,然后使用fileno(3)
进行其他操作。
FILE
是一个包含有关文件的信息的结构,包括文件描述符。