什么是在C中打开文件?

在C中,当我们打开文件时会发生什么?据我所知,当我们打开文件时,文件内容没有加载到内存中.它只是设置文件描述符?那么这个文件描述符是什么呢?如果文件内容没有加载到内存中那么文件是如何打开的?

解决方法

通常情况下,如果你打开一个文件用fopen或(在POSIX系统上)打开,该函数,如果成功,将“打开文件” – 它只给你一个值(一个文件*或一个int)用于将来调用read函数.

在引擎盖下,操作系统可能会读取部分或全部文件,但可能不会.您必须调用某个函数来请求数据被读取,如果它在您调用fread / fgets / read / etc时没有完成它,那么它将在那时.

文件描述符”通常是指POSIX系统中打开返回的整数.它用于标识打开的文件.如果你得到一个值3,某个地方,操作系统会跟踪3指的是/home/user/dir/file.txt,或者其他什么.向操作系统指示要读取的文件一个很小的值.当你打开open,然后打开say,foo.txt时,操作系统说,“好吧,文件打开,从这里调用它3”.

相关文章

本程序的编译和运行环境如下(如果有运行方面的问题欢迎在评...
水了一学期的院选修,万万没想到期末考试还有比较硬核的编程...
补充一下,先前文章末尾给出的下载链接的完整代码含有部分C&...
思路如标题所说采用模N取余法,难点是这个除法过程如何实现。...
本篇博客有更新!!!更新后效果图如下: 文章末尾的完整代码...
刚开始学习模块化程序设计时,估计大家都被形参和实参搞迷糊...