C语言文件关闭函数fclose(文件指针)疑问

如下代码先打开文件->获取文件第一行->关闭文件-> 把文件第一行显示在编辑框,
疑问是已经把文件关闭了怎么还能对文件的第一行给显示到编辑框呢?是不是可以理解为打开一个文档然后复制里面信息即使关闭文件我复制的信息仍然有效??
{
FILE * fp = fopen(sizeFile,"r");
char line[256];
fgets(line,sizeof(line),fp);
fclose(fp);//这边已经关闭文件
SetDlgItemText(hwnd,IDC_EDIT1,line);//这边还能把文件信息写到编辑框?
}

假如文件是存储在硬盘上,那么所有内容是用磁化的方法写的,能掉电不丢失。
你的程序将文件打开后,将其内容的第1行读入了计算机的随机存储器中(具体就是line数组)
关闭文件后,文件仍然保持不变
line数组已经读到了数据,这些数据虽然等于文件的第1行,但已经与文件没有关系了,你使用和修改这些数据不会影响到文件,除非你再打开这个文件向里边写。
在编辑框中输出的是line数组的内容,它确实与文件的第1行内容相同!以后文件内容改了,你还要输出的话,需要再打开文件读一遍。
温馨提示:内容为网友见解,仅供参考
第1个回答  2015-09-23
fclose函数为C语言标准库函数,用来关闭一个已打开的文件。

该函数在stdio.h中声明,原型为:

int fclose(FILE *fp);
当fclose被调用时,一个打开的文件(以文件指针fp标识)会被关闭,关闭后,无法再对fp执行读写操作。
如果关闭成功,返回0,否则返回负值。
C语言文件操作的标准流程为

1 fopen打开文件;
2 通过各种读写函数,读写文件;
3 所有操作结束后,调用fclose关闭文件。本回答被网友采纳
第2个回答  2013-10-09
fgets(line, sizeof(line), fp)函数如果成功返回,此时已经将文件中的第一行读取到本地缓冲区line中,所以即使文件已关闭缓冲区的内容不会受到影响。
也就是说,SetDlgItemText(hwnd,IDC_EDIT1,line)可以吧文件信息写到编辑框。
第3个回答  2013-10-09
文件打开的时候,值已经给了 line;

当你文件关闭后,line 的值还是在的;

所以,还能把 line 的值给编辑框
第4个回答  2018-02-28
第一行内容已经读到内存变量 char line里面了啊
然后把line的内容显示到编辑框里了 没毛病啊

C语言文件关闭函数fclose(文件指针)疑问
关闭文件后,文件仍然保持不变 line数组已经读到了数据,这些数据虽然等于文件的第1行,但已经与文件没有关系了,你使用和修改这些数据不会影响到文件,除非你再打开这个文件向里边写。在编辑框中输出的是line数组的内容,它确实与文件的第1行内容相同!以后文件内容改了,你还要输出的话,需要再打开文...

C语言文件关闭函数fclose(文件指针)是什么?
fclose函数为C语言标准库函数,用来关闭一个已打开的文件。该函数在stdio.h中声明,原型为:int fclose(FILE *fp);当fclose被调用时,一个打开的文件(以文件指针fp标识)会被关闭,关闭后,无法再对fp执行读写操作。如果关闭成功,返回0,否则返回负值。C语言文件操作的标准流程为 1、fopen打开文件;2...

c语言中fclose(fp)啥意思
在C语言中,当我们使用文件时,需要进行打开和关闭操作。通过fopen函数打开一个文件后,返回一个文件指针,这个指针用于后续的文件读写操作。当文件使用完毕后,需要使用fclose函数来关闭文件。fclose函数的作用 fclose是C标准库中的一个函数,用于关闭一个已打开的文件。函数的参数是一个文件指针,指向要关...

在C语言中,当成功执行了文件关闭操作时,Fclose函数的返值是什么_百度知...
当使用完一个文件后,应该将该文件关闭,以防止它再被调用。“关闭”就是是文件指针变量不再指向该文件,也就是文件指针变量与该文件“断开”,此后不能通过该指针变量对原来与其相联系的文件进行读写操作,除非再次打开,使文件变量重新指向该文件。【调用形式】fclose(文件指针变量名)【功能】关闭文件指...

C语言 问一个关于文件指针的问题,就是文件指针fclose之后,指针变量fp自 ...
文件指针指向FILE结构. fopen 送返此结构。应当 把 fp 声明为全局量,(不在递归函数中声明),fopen 最好在函数以外。函数中可以读写和回绕,就不会有问题。

为什么C语言会出现文件关闭失败的情况
C语言关闭文件用int fclose(FILE* fp)函数,可能有多种失败原因。1、错误的参数。传递给fclose的参数不是来自fopen、freopen或者tmpfile函数返回的正确文件指针。如果用上述三个函数打开文件不成功而不检查返回的文件指针是否正确,甚至没有给文件指针赋值,最后再传给fclose的时候也会关闭文件失败。2、重复...

fclose函数的问题请教
fclose是用来关闭流的使用fclose函数就可以把缓冲区内最后剩余的数据输出到磁盘文件中,并释放文件指针和有关的缓冲区。如果只是fp=NULL,仅仅是把fp指到NULL而已,并不会释放文件流

C语言中的fclose函数该怎么用?
加个if使程序显得更加健壮,考虑一切可能发生的情况,有可能关闭文件失败.fclose(FILE* fp),传递的参数为FILE类型的指针.一般没必要判断,但以后你到公司了,如果想写出质量很高的代码,就应该加判断.因为当你以后和一个团体一起做项目的时候,调试程序时,要考虑很多问题,你首先把这个做了,就可以减少维护和...

C语言子函数中fopen文件后必须要fclose吗
如果不关闭文件,可能会丢失数据。因为在向文件写数据时,实现将数据输到缓冲区,待缓冲区充满后才正式输出给文件,如果当数据未充满缓冲区而程序结束运行,就会将缓冲区中的数据丢失。用fclose函数关闭文件,他先将缓冲区中的数据输出到磁盘文件然后才释放文件指针变量,从而避免了数据丢失。关闭文件的格式...

C语言的fclose()函数
fclose()函数是C语言中用于关闭已打开文件的关键函数。其头文件为:include 定义的fclose函数原型为:int fclose(FILE * stream);此函数主要作用在于关闭由fopen()函数打开的文件,确保缓冲区中的数据被写入文件中,并释放系统提供的文件资源。在操作完成后,fclose()函数会刷新缓冲区。在程序的执行过程中...

相似回答