它创建一个名为fp的局部变量(类型为FILE *),并且forward声明为

an external function named fopen (with a signature of FILE *fopen()).

C中fopen函数声明中缺少参数并不意味着函数采用零参数(函数签名将为FILE * fopen(void)).相反,缺少参数意味着函数具有未指定的参数(数量未指定且类型未指定).

这是一种非常古老的C形式,在现代C中更具惯用性:

#include // fopen() and fprintf()

#include // exit()

#include // strerror()

#include // errno

extern char *progname;

FILE *efopen(const char *file, const char *mode) {

FILE *fp = fopen(file, mode);

if (fp) return fp;

fprintf(stderr, "%s: can't open file %s in mode %s: %s\n",

progname, file, mode, strerror(errno));

exit(1);

}

C语言中fp=fopen NULL,c – “FILE * fp,* fopen();”是什么?相关推荐

  1. c语言if文里null,C语言中if (p==NULL)的是与非

    博客园cnblogs不知为何最近开始渐有C语言开发重启的迹象,不少人开始写一些C语言的教程. 其中看到一段有趣的留言,提到这个写法:if (p == NULL), 有人说这是不好的~,经典不提倡的~, ...

  2. c语言中什么是指针初始化,C语言中的“char指针初始化”是什么意思?

    满意答案 gqtywh 推荐于 2019.10.06 采纳率:53%    等级:8 已帮助:60人 char 指针,也就是char *类型. 其初始化本质上与其它变量初始化没有什么区别,就是赋予其一 ...

  3. c语言中fopen的作用,c语言中fopen的用法

    在C语言中,fopen也是一个打开文件的函数.在C语言的命令窗口中输入doc fopen或者help fopen就可以获得该函数的帮助信息.下面小编就跟你们详细介绍下c语言中fopen的用法,希望对你 ...

  4. C语言中fopen()函数的使用方法

    fopen()函数的使用方法 C语言中fopen()的基本用法: 语法: FILE *fopen(const char *filename, const char *mode);` 返回值: fope ...

  5. C语言中fopen函数使用举例及打开方式列表

    C语言中fopen函数使用举例及打开方式列表 虽然用的是c++的头文件,但是是c的代码,建议纯c的小伙伴把头文件换掉,并删除using namespace std; #include<iostr ...

  6. fopen函数的用法示例_使用示例的C语言中的fopen()函数

    fopen函数的用法示例 C语言中的fopen()函数 (fopen() function in C) Prototype: 原型: FILE *fopen(const char* filename, ...

  7. C语言中的fopen函数

    fopen 函数原型:FILE * fopen(const char * path, const char * mode); 相关函数:open, fclose, fopen_s, _wfopen 返 ...

  8. 【转】FILE *fp fopen 参数

    [转]FILE *fp fopen 参数 "rt" 只读打开一个文本文件,只允许读数据  "wt" 只写打开或建立一个文本文件,只充读写数据  "at ...

  9. C语言中fopen的详细用法

    fopen是C语言中用于打开文件的函数,其原型为: FILE *fopen(const char *filename, const char *mode); 其中,filename是要打开的文件名,m ...

  10. c语言fclose导致系统崩溃,c语言中fopen之后不fclose会造成内存泄漏问题

    原创作品转载请注明出处 如果fopen之后不fcolse会怎样呢? #include int main() { FILE* fp; fp = fopen("record.dat", ...

最新文章

  1. 谷歌新一轮裁员,云计算部门 50 人首当其冲
  2. 生命如何在复杂环境中生存?信息、调控和几何结构的交织
  3. 《漫画算法2》源码整理-7 第K大的数字
  4. Java开发过程中开发工具Eclipse中导入jar包的过程
  5. RT-Thread uart串口设备驱动代码结构剖析
  6. python watchdog占用,python基于watchdog库全自动化监控目录文件
  7. 第44课 角谷猜想 动动脑 第3题 完善程序
  8. 小米9尴尬了!红米K20搭载骁龙855或只卖2599元
  9. 和平精英连接服务器未响应,和平精英触控失灵怎么回事 操作触屏有时候没反应介绍...
  10. 在Windows Server 2016 Core上运行SQL Server容器
  11. MySQL(7)-----常用约束
  12. 【PX4学习笔记】3. PX4 固件烧写(1 探索过程)
  13. 博士的一天(备受打击版本)
  14. ERROR 1820 (HY000): You must reset your password using ALTER USER statement
  15. 离散数学 2.3 Functions
  16. Linux系统开机显示BusyBox v1.22.1 built-in shell(ash) 解决方法
  17. 1750. 救生员 Lifeguards S
  18. TinyMCE富文本编辑器在Vue中的使用
  19. 滑块逃脱_逃脱测试的丛林:从夹具到断言的捷径
  20. 网站都变成灰色了,怎么实现的?

热门文章

  1. C,LINUX,数据结构部分
  2. [置顶]【留言板 Message Board】
  3. 语法分析(3)...
  4. OPENROWSET访问CSV格式文件
  5. pyCharm-激活码(2018)
  6. 机器学习-GBDT和XGboost
  7. Android编码规范05
  8. js 阻止冒泡 在控件的 onxxx 事件中调用就可以阻止父控件也响应消息了
  9. 认知维度与API的可用性评估
  10. 模式实例之——中介者实例