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的内容显示到编辑框里了 没毛病啊

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网