fclose函数发生错误返回值,若执行fopen函数时发生错误,则函数的返回值是?
fclose函数发生错误返回值,若执行fopen函数时发生错误,则函数的返回值是?详细介绍
本文目录一览: 若执行fopen函数时发生错误,则函数的返回值是?
若执行fopen函数时发生错误,则函数的返回值是NULL(即0)。
文件顺利打开后,指向该流的文件指针就会被返回。若果文件打开失败则返回NULL,并把错误代码存在errno 中。
执行fopen函数时,如果文件打开成功,则返回该文件结构体的指针,如果 打开失败(例如,读打开时文件不存在,写打开时文件不能创建),则返回NULL(即0)。
这个函数是用来判断指针是否已经到达文件尾部的。若fp已经指向文件末尾,则feof(fp)函数值为“真”,即返回非零值;否则返回0。
使用void类型指针要注意的几条规则:
1、void*类型只有地址信息没有类型信息,所以不能计算偏移。
C/C++中的指针通常来说有两个属性:
(1)指向变量。
(2)指向对象的地址和长度。
指针其实就是存储被指向变量的地址,并不保存其长度;而且存的这个地址仅是变量的首地址,并不是该变量占据内存的所有地址空间。
2、任何指针(包括函数指针)都可以赋值给void指针。
特点:
(1)不需要类型转换。
(2)只获得变量/对象地址而不获得大小。
fopen和fclose函数的返回值是多少?
fopen返回的是打开的文件指针,fclose返回值是0或者(-1)。
fopen()文件顺利打开后,返回指向该流的文件指针,如果文件打开失败,则返回NULL,并将错误代码存储在errno中。
fclose()成功关闭可返回0,否则返回EOF(-1)。
扩展资料:
fopen的;其功能是使用给定的模式
mode
打开
filename
所指向的文件。文件顺利打开后,指向该流的文件指针就会被返回。如果文件打开失败则返回 NULL,并把错误代码存在
error
中。该函数位于C
标准库
中。
fclose功能是关闭一个流。使用fclose()函数就可以把缓冲区内最后剩余的数据输出到内核缓冲区,并释放文件指针和有关的缓冲区。
函数原型:int
fclose(
FILE
*fp
),如果流为NULL,而且程序可以继续执行,fclose设定error
number给EINVAL,并返回EOF。
参考资料来源:百度百科-fopen
参考资料来源:百度百科-fclose
若执行fopen函数时发生错误,则函数的返回值是
成功返回FILE *指针;
失败返回NULL
如FILE *fp;
fp = fopen(...);
if (fp == NULL) { // 失败
....
}
执行fopen函数时发生错误,则函数的返回值是NULL(即0)。文件顺利打开后,指向该流的文件指针就会被返回。若果文件打开失败则返回NULL,并把错误代码存在errno中。
fopen函数是打开一个文件,其调用的一般形式为:文件指针名=fopen(文件名,使用文件方式);
“文件指针名”必须是被声明为FILE类型的指针变量;“文件名”是被打开文件的文件名;“使用文件方式”是指文件的类型和操作要求;“文件名”是C风格字符串。
扩展资料
函数介绍
例如:
FILE *fp;
fp=fopen("file a","r");
其意义是在当前目录下打开文件file a,只允许进行“读”操作,并使fp指向该文件。
又如:
FILE *fphzk
fphzk=fopen("c:\\hzk16","rb");
其意义是打开C驱动器磁盘的根目录下的文件hzk16,按二进制方式进行读操作。两个反斜线“\\ ”中的第一个表示转义字符,第二个表示根目录。
使用文件的方式共有12种,下面给出了它们的符号和意义。
在C语言中,当成功执行了文件关闭操作时,Fclose函数的返值是什么
文件一旦使用完毕,应用关闭文件函数把文件关闭,以避免文件的数据丢失等错误。
fclose函数调用的一般形式是:
fclose(文件指针);
例如:
fclose(fp);
正常完成关闭文件操作时,fclose函数返回值为0。如返回非零值则表示有错误发生。
类似这种问题去问MSDN
MSDN原文:
fclose returns 0 if the stream is successfully closed. return EOF to indicate an error.
当使用完一个文件后,应该将该文件关闭,以防止它再被调用。“关闭”就是是文件指针变量不再指向该文件,也就是文件指针变量与该文件“断开”,此后不能通过该指针变量对原来与其相联系的文件进行读写操作,除非再次打开,使文件变量重新指向该文件。
【调用形式】fclose(文件指针变量名)
【功能】关闭文件指针变量所指向的文件,同时自动释放分配给文件的缓冲区。
【返回值】文件能正常关闭,则返回0,否则返回非0.
若执行fopen函数时发生错误,则函数的返回值是()。
发生错误一般是返回1
若执行fopen函数时发生错误,则函数的返回值是NULL(即0)。
fopen的函数原型为: FILE *fopen(const char *filename, const char *mode);其功能是使用给定的模式 mode 打开 filename 所指向的文件。文件顺利打开后,指向该流的文件指针就会被返回。如果文件打开失败则返回 NULL,并把错误代码存在 error 中。该函数位于C 标准库
中。
扩展资料:
fopen() 将 filename 指定的名字资源绑定到一个流上。如果 filename 是 "scheme://..." 的格式,则被当成一个 URL,PHP 将搜索协议处理器(也被称为封装协议)来处理此模式。如果该协议尚未注册封装协议,PHP 将发出一条消息来帮助检查脚本中潜在的问题并将 filename 当成一个普通的文件名继续执行下去。
如果 PHP 认为 filename 指定的是一个本地文件,将尝试在该文件上打开一个流。该文件必须是 PHP 可以访问的,因此需要确认文件访问权限允许该访问。如果激活了 安全模式 或者 open_basedir 则会应用进一步的限制。
设fp是指向某文件的文件指针,若函数fclose(fp)操作不成功,返回值是_________。
b
应该是。
选择【C.EOF】
fclose正常完成关闭文件操作时,fclose函数返回值为0,否则返回EOF。
在程序结束之前应关闭所有文件,这样做的目的是防止因为没有关闭文件而造成的数据流失。
当不能正确执行文件关闭操作时,fclose函数的返回值是?
不能正确执行的话返回-1
C语言中的fclose函数该怎么用?
用fopen()打开文件后如果不调用fclose()关闭则不可以被其他程序操作~
所以fopen()打开后操作完成时要调用fclose()关闭
加个if使程序显得更加健壮,考虑一切可能发生的情况,有可能关闭文件失败.
fclose(FILE* fp),传递的参数为FILE类型的指针.
一般没必要判断,但以后你到公司了,如果想写出质量很高的代码,就应该加判断.因为当你以后和一个团体一起做项目的时候,调试程序时,要考虑很多问题,你首先把这个做了,就可以减少维护和调试的工作量.
现在你可能不明白,等以后参加工作了,就会理解了.
fclose()函数功能为:关闭一个流,把缓冲区内最后剩余的数据输出到磁盘文件中,并释放文件指针和有关的缓冲区。( fopen()打开一个流 )
头文件: #include
函数原型: int fclose(FILE *stream);
说明: 如果流成功关闭,fclose 返回 0,否则返回EOF(-1)。 出错的原因包括:传给函数的文件指针不合法,程序运行时遇到中断信号或是操作系统出现故障等等,可通过查看errno值来确定出错原因。
因此,正确的使用方法为:
if ( fclose(fp) ){ perror("close file"); //报告相应错误}但,一般我们写练习代码时,碰上出错的可能性比较小,而且,程序基本上就是运行一次,所以常常不做错误检查。直接写成fclose(fp);
建议:使用正确的方法书写代码,养成良好的编码习惯,提高程序健壮性,提高程序的可维护性。
fclose时出现错误
SIGSEGV 信号表示你引用了一个无效的,或者非法的内存区域;
出现这个错误,肯定是你的 fp 指针无效,但不一定非法,所以 fclose 报错;
你要保证你的文件打开成功,并且 fp 持有一个合法的文件指针,才能用 fclose 关闭文件;
(gdb) p fp
$21 = (FILE *) 0x603fd0
首先.p fp打印的是文件指针.也就是fp的指针地址.而是文件指针的内容...
你应该使用 p *fp查看_fileno
如果不为-1.则文件是被打开的.
其实在fp前做个检查就好了 ...
if(fp) fclose(fp);
还有一种办法.如果你是LINUX的话.
在调试的时候.在fclose之前打上断点.运行到断点的时候ps看下程序的PID.去proc里看下文件是否已经被关闭了...
具体路径在/proc/PID/fd
ls -l一下.就可以看到打开了哪些文件.以及文件描述符.如果没有fopen打开的文件.就表示已经被关闭过了...