文档章节

在linux中获取错误返回信息

课课家
 课课家
发布于 2017/07/12 12:07
字数 222
阅读 148
收藏 0

linux中获取错误返回信息

#include <stdio.h> // void perror(const char *msg);
#include <string.h> // char *strerror(int errnum);
#include <errno.h> //errno

errno 是错误代码,在 errno.h头文件中;
perror是错误输出函数,输出格式为:msg:errno对应的错误信息(加上一个换行符);
strerror 是通过参数 errnum (就是errno),返回对应的错误信息。

以下是测试程序:

// p_str_error.c

// perror , strerror 函数 , errno 测试

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>

int main(int argc, char *argv[])
{
 FILE *fp;
 char *buf;

 if( (fp = fopen(argv[1], "r")) == NULL)
 {
  perror("perror"); // 好方便
  errno = 12;
  printf("strerror: %s\n", strerror(errno)); //转换错误码为对应的错误信息
  exit(1);
 }
 perror("perror");
 errno = 13;
 printf("strerror: %s\n", strerror(errno));
 
 fclose(fp); 
 return 0;
}
输入一个存在的文件名,如:./a.out 111
open失败则会输出:
perror: No such file or directory
strerror: Cannot allocate memory
open成功则会输出:
perror: Success
strerror: Permission denied

© 著作权归作者所有

课课家
粉丝 0
博文 38
码字总数 47186
作品 0
广州
私信 提问
linux下用ioctl获取不到wifi 信息

我在用ioctl获取wifi信息时总是返回-1,用peeroe()得到的错误为 Bad address。求大神指导啊!!! 这是代码: 在调用此接口前,wifi 已经激活了,ifconfig能够看到 wlan0设备。 为什么ioctl...

guzl
2012/08/28
3K
4
Python_cmd的各种实现方法及优劣

使用os.system("cmd") 这是最简单的一种方法,特点是执行的时候程序会打出cmd在linux上执行的信息。使用前需要import os。 os.system("ls") 2. 使用Popen模块产生新的process 现在大部分人都...

北方攻城师
2014/05/28
731
0
python 命令执行的方法整理

在python开发中,我们常常需要执行命令,修改相关信息。那对于初学者来说,python中如何执行命令呢?今天,小编就为大家分享3种python命令执行的方法。 1. 使用os.system("cmd") 在python中,...

小麦麦子
2015/06/24
1K
0
网络通信基础重难点解析 16 :域名解析 API 介绍

版权声明:欢迎关注我的微信公众号:「easyserverdev」,中文名:『高性能服务器开发』。 https://blog.csdn.net/analogous_love/article/details/88721804 为了便于记忆,有时候我们需要我们...

analogous_love
03/21
0
0
python的subprocess模块

from subprocess import Popen 可以看到Popen类的方法 从Python 2.4开始,Python引入subprocess模块来管理子进程,以取代一些旧模块的方法:如 os.system、os.spawn、os.popen、popen2.、com...

浮云飘飘
2015/05/29
215
0

没有更多内容

加载失败,请刷新页面

加载更多

java通过ServerSocket与Socket实现通信

首先说一下ServerSocket与Socket. 1.ServerSocket ServerSocket是用来监听客户端Socket连接的类,如果没有连接会一直处于等待状态. ServetSocket有三个构造方法: (1) ServerSocket(int port);...

Blueeeeeee
今天
6
0
用 Sphinx 搭建博客时,如何自定义插件?

之前有不少同学看过我的个人博客(http://python-online.cn),也根据我写的教程完成了自己个人站点的搭建。 点此:使用 Python 30分钟 教你快速搭建一个博客 为防有的同学不清楚 Sphinx ,这...

王炳明
昨天
5
0
黑客之道-40本书籍助你快速入门黑客技术免费下载

场景 黑客是一个中文词语,皆源自英文hacker,随着灰鸽子的出现,灰鸽子成为了很多假借黑客名义控制他人电脑的黑客技术,于是出现了“骇客”与"黑客"分家。2012年电影频道节目中心出品的电影...

badaoliumang
昨天
15
0
很遗憾,没有一篇文章能讲清楚线程的生命周期!

(手机横屏看源码更方便) 注:java源码分析部分如无特殊说明均基于 java8 版本。 简介 大家都知道线程是有生命周期,但是彤哥可以认真负责地告诉你网上几乎没有一篇文章讲得是完全正确的。 ...

彤哥读源码
昨天
15
0
jquery--DOM操作基础

本文转载于:专业的前端网站➭jquery--DOM操作基础 元素的访问 元素属性操作 获取:attr(name);$("#my").attr("src"); 设置:attr(name,value);$("#myImg").attr("src","images/1.jpg"); ......

前端老手
昨天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部