fprintf 和 perror 的理解1
程序中的两种出错处理:
第一种: 用fprintf
2: #include <string.h>
3: #include <errno.h>
4: #include <stdlib.h>
5:
1: #include <stdio.h>
6: int main(void)
7: {
8: FILE *fp;
9:
10: if((fp = fopen("1.c", "r")) == NULL)
11: {
12: fprintf(stderr, "fopen error! %s", strerror(errno));
13: exit(-1);
14: }
15: return 0;
16: }
可以看出,这种输出结果不会自动换行。而且参数较多。
第二种、perror
1: #include <stdio.h>
2: #include <stdlib.h>
3:
4: int main(void)
5: {
6: FILE *fp;
7:
8: if((fp = fopen("1.c", "r")) == NULL)
9: {
10: perror("fopen error!");
11: exit(-1);
12: }
13: return 0;
14: }
可以看出:用perror的输出会自动换行,且自动加上一个冒号和错误提示。推荐!
转载于:https://www.cnblogs.com/pengdonglin137/archive/2013/03/10/2952414.html
fprintf 和 perror 的理解1相关推荐
- C语言学习第7天(错误处理、递归、内存管理)默认熟悉数据结构和java基础
重点强调一下 初学者可以去https://www.runoob.com/网站学习各种语言的基础 错误处理 C语言不提供对错误处理的直接支持,但它可以用返回值的形式允许你访问底层数据.在发生错误的时候, ...
- stdin和stdout用法c语言,C语言中的stdin,stdout,stderr
我们在写C程序时经常遇到printf(),fprintf(),perror(),这些东西到底有什么作用.说到这不得不提及stdin,stdout,stderr.想想,我们在用C去写文件时的操作,Fil ...
- stdin、stdout
我们在写C程序时经常遇到printf(),fprintf(),perror(),这些东西到底有什么作用.说到这不得不提及stdin,stdout,stderr.想想,我们在用C去写文件时的操作,Fil ...
- stdio.h头文件包含的函数有哪些?
stdio.h 以下来自维基百科中文 多数与C语言输入输出相关的函数在<stdio.h>中定义(C++中的<cstdio>). 文件访问 fopen freopen fflus ...
- c语言 u16 printf,C 语言printf打印各种数据类型的方法(u8/s8/u16/s16.../u64/double/float)(全)...
u16 首先必须知道u8,s8等数据类型的定义: typedef signed char s8; typedef unsigned char u8; typedef signed short s16; ...
- linux互斥锁和条件变量,如何理解互斥锁和条件变量?
下面的代码出自<Unix/Linux编程实践教程>,作用是用两个线程分别统计两个文件的单词的数目,并在主线程中计算总数.下面是运行截图: 但是看了半天还是难以理解下面代码中的加锁.解锁以及 ...
- linux container容器技术框架性理解
我对container原理的一些理解(基于linux kernel 2.6.38) by kin 2011.04.17 ======================================== ...
- Linux网络编程 五种I/O 模式及select、epoll方法的理解
近期一次面试机会让我觉得有很多地方理解可能不到位,翻翻谷歌的资料加深对一些技术的理解 五种I/O 模式: [1] 阻塞 I/O (Linux下的I/O操作默认是阻塞I/O,即open和socket创建 ...
- 十个问题理解Linux epoll工作原理
作者:dustinzhou,腾讯 IEG 运营开发工程师 epoll 是 linux 特有的一个 I/O 事件通知机制.很久以来对 epoll 如何能够高效处理数以百万记的文件描述符很有兴趣.近期学习 ...
最新文章
- mysql隐藏用户名_系统默认的MySQL用户名消失的解决方法(修正版)
- 机器学习——人工神经网络之多层神经网络(多层与三层)
- Vuejs 写法实例
- struts2 poi excel 导出
- selenium使用TestNG实现DDT
- python行与缩进_Python行结构与缩进的简单介绍
- 2.4_double-ended_queue_双向队列
- cls image.php,Ecshop安装过程中的的相关问题:cls_image::gd_version()和不支持JPEG_PHP教程...
- 人脸对齐 matlab,常用几种人脸对齐算法ASM/AAM/CLM/SDM
- 姿态估计1-02:FSA-Net(头部姿态估算)-源码训练测试-报错解决
- 激光SLAM:激光雷达运动畸变补偿--轮速里程计辅助方法
- html去除文章符号,HTML中怎么去除列表项符号
- Visual Studio 中使用万能头文件 #include bits/stdc++.h
- 学会 Arthas,让你 3 年经验掌握 5 年功力!
- 2022-2027年中国石榴石行业发展前景及投资战略咨询报告
- 2015年心情随笔--周围太烦躁,我想静静
- 用Linux+IPChains代替Windows+WinGate
- EC20 4G 海思 3520D 拨号失败(APN需要设置为三大运营商的指定值)
- 我的学习观(一)——主动学习
- 韦伯的组织理论(1911)--轉
热门文章
- ACwing 4. 多重背包问题 I(DP)
- ACwing 2. 01背包问题(DP)
- LeetCode MySQL 619. 只出现一次的最大数字
- python清洗文本数据_02.数据预处理之清洗文本信息
- ftp可以传输什么类型文件_FTP文件传输工具-ForkLift for Mac
- docker $PWD路径_Docker 技术系列之安装Redis单机版和集群版
- mysql获取网站绝对路径_Symfony2获取web目录绝对路径、相对路径、网址的方法
- ubuntu定时执行python脚本方法及实例代码
- python中的类方法和静态方法
- java程序语言228_2019年Java面试题基础系列228道(5)