errno的用法】的更多相关文章

Linux中系统调用的错误都存储于 errno中,errno由操作系统维护,存储就近发生的错误,即下一次的错误码会覆盖掉上一次的错误. 编程时需要包含#include <errno.h>,可以直接查看errno的值例如: #include <errno.h> int main(void) { printf("errno=%d",errno); } 也可以使用一些库函数直接输出错误信息 例如: int main(void) { printf("errno…
TCP通信 一个程序使用套接字需要执行4个步骤. --分配套接口和初始化 --连接 --发送或接收数据 --关闭套接字 涉及到的调用包括socket.bind.listen.connect(阻塞线程).accept(阻塞线程).recv(阻塞线程).send(阻塞线程). 分配套接口和初始化 --我们需要做的第一件工作就是分配套接口. --套接口可以看作是文件描述符 --不论server端,还是client端,第一步都是一样的 每个套接口都是一个通信的通道 两个进程通过套接口建立连接后就可以发送…
1.strchr 原型 char *strchr(const char* _Str,char _Val) 头文件 string.h 功能 查找字符串_Str中首次出现字符_Val的位置 返回值  成功则返回要查找字符第一次出现的位置,失败返回NULL             2.strstr(str1,str2)  原型 char *strstr(char *str1, const char *str2); 头文件 string.h 功能 判断字符串str2是否是str1的子串 返回值 如果是,…
error是一个包含在 perror()和strerrot()函数可以把errno的值转化为有意义的字符输出. #include <stdio.h> #include <stdlib.h> #include <dirent.h> #include <errno.h> #include <string.h> int main(void){ extern int errno; errno=0; opendir("/home/kkk"…
转自:http://www.cnblogs.com/emanlee/p/3327576.html awk 用法:awk ' pattern {action} '  变量名    含义 ARGC   命令行变元个数 ARGV   命令行变元数组 FILENAME   当前输入文件名 FNR   当前文件中的记录号 FS   输入域分隔符,默认为一个空格 RS   输入记录分隔符 NF   当前记录里域个数 NR   到目前为止记录数 OFS   输出域分隔符 ORS   输出记录分隔符 1.awk…
定义和用法 set_error_handler() 函数设置用户自定义的错误处理函数. 该函数用于创建运行时期间的用户自己的错误处理方法. 该函数会返回旧的错误处理程序,若失败,则返回 null. 语法 set_error_handler(error_function,error_types) 参数 描述 error_function 必需.规定发生错误时运行的函数. error_types 可选.规定在哪个错误报告级别会显示用户定义的错误.默认是 "E_ALL". 提示和注释 提示:…
system()函数功能强大,很多人用却对它的原理知之甚少先看linux版system函数的源码: #include <sys/types.h> #include <sys/wait.h> #include <errno.h> #include <unistd.h> int system(const char * cmdstring) { pid_t pid; int status; if(cmdstring == NULL){ ); } ){ status…
#include<stdio.h> 定义函数 int sscanf (const char *str,const char * format,........); 函数说明  sscanf()会将参数str的字符串根据参数format字符串来转换并格式化数据.格式转换形式请参考scanf().转换后的结果存于对应的参数内. 返回值 成功则返回参数数目,失败则返回-1,错误原因存于errno中. 返回0表示失败    否则,表示正确格式化数据的个数    例如:sscanf(str,"…
目前虽然有很多工具可以代替awk,但是呢我还是认为awk还是非常重要,比如有时候load数据到hive,mysql发现数据有点问题,这样可以先对比文件和库中数据是否一致,这样awk就发挥用处了,还有从文本中统计一些简单的数据,awk可是信手拈来.在这也简单的介绍下awk的用法. awk命令格式与选项 awk [options] 'script' var=value file(s) awk [options] -f scriptfile var=value file(s) 常用命令选项: -F f…
select/poll被监视的文件描述符数目非常大时要O(n)效率很低:epoll与旧的 select 和 poll 系统调用完成操作所需 O(n) 不同, epoll能在O(1)时间内完成操作,所以性能相当高. epoll不用每次把注册的fd在用户态和内核态反复拷贝. epoll不同与之前的轮询方式,用了类似事件触发的方式,能够精确得获得实际需要操作的fd. 今天看到一个说法是 epoll_wait 里面 maxevents 这个参数,不能大于epoll_create的size参数.而之前我的…
pro*c是高级的用法,OCI是oracle的基础用法 如何编译.pc文件: proc code=cpp  parse=none iname=filename.pc oname=filename.cpp 一, 首先要包涵头文件#include 这个头文件 二,  在声明宿主变量之前一定要先定义struct sqlca sqlca;这个变量. 三, 所有与oracle数据库SQL语句有关的变量必须在前面声明为宿主变量分配空间才可以使用, 宿主变量只能是oracle支持的数据类型,一般是基本类型的,…
Stream是PHP开发里最容易被忽视的函数系列(SPL系列,Stream系列,pack函数,封装协议)之一,但其是个很有用也很重要的函数.Stream可以翻译为“流”,在Java里,流是一个很重要的概念. 流(stream)的概念源于UNIX中管道(pipe)的概念.在UNIX中,管道是一条不间断的字节流,用来实现程序或进程间的通信,或读写外围设备.外部文件等.根据流的方向又可以分为输入流和输出流,同时可以在其外围再套上其它流,比如缓冲流,这样就可以得到更多流处理方法. PHP里的流和Java…
_vsnprintf,C语言库函数之一,属于可变参数.用于向字符串中打印数据.数据格式用户自定义. 头文件: #include <stdarg.h> 函数声明: int _vsnprintf(char* str, size_t size, const char* format, va_list ap); 参数说明: char *str [out],把生成的格式化的字符串存放在这里. size_t size [in], str可接受的最大字节数,防止产生数组越界. const char *for…
在C语言编译中,经常会出现一些系统的错误,这些错误如果在编译的时候不能很好的“预见”,会使系统“崩溃”,常见的捕获错误函数有: errno #include<errno.h> 这个变量是程序默认的参数,并不需要程序员显式定义,但必须声明:extern int errno; 并且需要包含头文件 errno.h perror()原型: #include <stdio.h>void perror(const char *msg);它是基于errno的当前值,在标准出错上产生一条出错信息,…
linux定时器  原文出自http://www.cnblogs.com/processakai/archive/2012/04/11/2442294.html 今天看书看到了关于alarm的一些用法,自己有在网上找了些资料看了下: 1.alarm()执行后,进程将继续执行,在后期(alarm以后)的执行过程中将会在seconds秒后收到信号SIGALRM并执行其处理函数. #include <stdio.h> #include <unistd.h> #include <si…
看书的时候碰到sscanf函数,就上网查了很多资料,并加以自己的整理,希望对大家有所帮助. (因为参考的博客太多太散,就不一一注明,望大神们见谅) sscanf()  :从一个字符串中读进与指定格式相符的数据.  函数原型:  Int sscanf( string str, string fmt, mixed var1, mixed var2 ... );  int scanf( const char *format [,argument]... ); sscanf与scanf类似,都是用于输入…
简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理. awk有3个不同版本: awk.nawk和gawk,未作特别说明,一般指gawk,gawk 是 AWK 的 GNU 版本. awk其名称得自于它的创始人 Alfred Aho .Peter Weinberger 和 Brian Kernighan 姓氏的首个字母.实际上 AWK…
getifaddrs()和struct ifaddrs的使用,获取本机IP ifaddrs结构体定义如下: struct ifaddrs { struct ifaddrs *ifa_next; /* Next item in list */ char *ifa_name; /* Name of interface */ unsigned int ifa_flags; /* Flags from SIOCGIFFLAGS */ struct sockaddr *ifa_addr; /* Addre…
linux c语言 select函数用法 表头文件 #i nclude<sys/time.h> #i nclude<sys/types.h> #i nclude<unistd.h> 定义函数 int select(int n,fd_set * readfds,fd_set * writefds,fd_set * exceptfds,struct timeval * timeout); 函数说明 select()用来等待文件描述词状态的改变.参数n代表最大的文件描述词加1…
epoll用法 在linux的网络编程中,很长的时间都在使用select来做事件触发.在linux新的内核中,有了一种替换它的机制,就是epoll. epoll函数 1. 创建epoll的句柄 size表示此内核监听的数目一共有多大,当创建好epoll句柄后,它就是会占用一个fd值,在linux下如果查看/proc/进程id/fd/,是能够看到这个fd的,所以在使用完epoll后,必须调用close()关闭,否则可能导致fd被耗尽. int epoll_create(int size); 2.…
select()用法 头文件 #include <sys/time.h> #include <sys/types.h> #include <unistd.h> 定义函数 select()用来等待文件描述词状态的改变. int select(int n, fd_set * readfds, fd_set * writefds, fd_set * exceptfds, struct timeval * timeout); n:代表最大的文件描述词加1: readfds.wr…
yii2 httpClient的用法示例: <?php /* * @Purpose : yii2 httpClient 请求示例 * @Author : Chrdai * @Time : 2018-05-09 * */ use Yii; use yii\base\Controller; use yii\helpers\Json; use yii\httpclient\Client; class TestController extends Controller { //use Controlle…
一.简单介绍 strace是什么? 按照strace官网的描述, strace是一个可用于诊断.调试和教学的Linux用户空间跟踪器.我们用它来监控用户空间进程和内核的交互,比如系统调用.信号传递.进程状态变更等. strace底层使用内核的ptrace特性来实现其功能. 在运维的日常工作中,故障处理和问题诊断是个主要的内容,也是必备的技能.strace作为一种动态跟踪工具,能够帮助运维高效地定位进程和服务故障.它像是一个侦探,通过系统调用的蛛丝马迹,告诉你异常的真相. strace能做什么?…
Linux性能观测工具按类别可分为系统级别和进程级别,系统级别对整个系统的性能做统计,而进程级别则具体到进程,为每个进程维护统计信息. 按实现原理分,可分为基于计数器和跟踪以及剖析.含义如下: 计数器:内核维护的统计数据,通常为无符号整型,用于对发生的事件计数,比如,网络包接收计数器,磁盘IO计数器等. 跟踪:跟踪会收集每一个事件的具体数据,由于跟踪捕获事件数据需要消耗CPU且需要较大的存储空间储存收集数据,默认不开启.日志就是一种低频率的跟踪,会记录事件数据. 剖析:对目标采样或快照来归纳目标…
open和fopen_s用法的比较 fopen 和 fopen_s           fopen用法: fp = fopen(filename,"w").         fopen_s用法:,须定义另外一个变量errno_t err,然后err = fopen_s(&fp,filename,"w").        返回值: fopen打开文件成功,返回文件指针(赋值给fp),打开失败则返回NULL值:                       fop…
在使用webpack+vue-cli进行vue项目构建时可能会出现一下错误,webpack@3.10.0及以上版本和vue-cli@2.9.2及以上版本会自动安装依赖(我在自己电脑上测试是这样的)不用我们进入项目文件夹下npm install 进行安装. 可能会出现错误: npm ERR! code ELIFECYCLEnpm ERR! errno 1npm ERR! chromedriver@2.35.0 install: `node install.js`npm ERR! Exit stat…
sscanf()为C语言标准库函数,用于从指定字符串中读入与指定格式相符的数据.函数原型声明在stdio.h头文件中: int sscanf(const char *str, const char *format, ...); 该函数根据参数format(格式化字符串)来转换参数str指向的字符串,转换后的结果存于对应的可变参数内.其返回值为按照指定格式转换符成功读入且赋值的可变参数数目(若发生匹配错误而部分成功,该数目会小于指定的参数数目,甚至为0).若首次成功转换或错误匹配发生前输入已结束(…
# 高级用法 本篇文档涵盖了Requests的一些更加高级的特性. ## 会话对象 会话对象让你能够跨请求保持某些参数.它也会在同一个Session实例发出的所有请求之间保持cookies. 会话对象具有主要的Requests API的所有方法. 我们来跨请求保持一些cookies: s = requests.Session() s.get('http://httpbin.org/cookies/set/sessioncookie/123456789') r = s.get("http://ht…
#include<stdio.h> 定义函数 int sscanf (const char *str,const char * format,........); 函数说明  sscanf()会将参数str的字符串根据参数format字符串来转换并格式化数据.格式转换形式请参考scanf().转换后的结果存于对应的参数内. 返回值 成功则返回参数数目,失败则返回-1,错误原因存于errno中. 返回0表示失败    否则,表示正确格式化数据的个数    例如:sscanf(str,"…
高级用法 本篇文档涵盖了 Requests 的一些高级特性. 会话对象 会话对象让你能够跨请求保持某些参数.它也会在同一个 Session 实例发出的所有请求之间保持 cookie, 期间使用 urllib3 的 connection pooling 功能.所以如果你向同一主机发送多个请求,底层的 TCP 连接将会被重用,从而带来显著的性能提升. (参见 HTTP persistent connection). 会话对象具有主要的 Requests API 的所有方法. 我们来跨请求保持一些 c…