为防止和正常的返回值混淆,系统调用并不直接返回错误码,而是将错误码放入一个名为errno的全局变量中。通常用一个负的返回值来表明错误。返回一个0值通常表明成功。如果一个系统调用失败,你可以读出errno的值来确定问题所在。通过调用perror()库函数,可以把该变量翻译成用户可以理解的错误字符串。 errno不同数值所代表...
int main(void) { int fd; extern int errno; if((fd = open("/dev/dsp",O_WRONLY)) < 0) { printf("errno=%d\n",errno); } exit(0); } 如果dsp设备忙的话errno值将是16。 errno.h中定义的错误代码值如下: 查 看错误代码errno是调试程序的一个重要方法。当linuc C api函数发生异常时,一般...
errno: 48 Link number out of range errno: 49 Protocol driver not attached errno: 50 No CSI structure available errno: 51 Level 2 halted errno: 52 Invalid exchange errno: 53 Invalid request descriptor errno: 54 Exchange full errno: 55 No anode errno: 56 Invalid request code errno: 57 Inval...
errno: 50 No CSI structure available errno: 51 Level 2 halted errno: 52 Invalid exchange errno: 53 Invalid request descriptor errno: 54 Exchange full errno: 55 No anode errno: 56 Invalid request code errno: 57 Invalid slot errno: 58 Unknown error 58 errno: 59 Bad font file format errno:...
errno21 : Is a directory errno22 : Invalid argument errno23 : Too many open files in system errno24 : Too many open files errno25 : Inappropriate ioctl for device errno26 : Text file busy errno27 : File too large errno28 : No space left on device ...
errno21 : Is a directory errno22 : Invalid argument errno23 : Too many open files in system errno24 : Too many open files errno25 : Inappropriate ioctl for device errno26 : Text file busy errno27 : File too large errno28 : No space left on device ...
一、open函数用来干什么 open函数在Linux下一般用来打开或者创建一个文件,我们可以根据参数来定制我们需要的文件的属性和用户权限等各种参数。 二、open函数的定义和参数 我们首先来看下open函数在Linux下的定义 代码语言:javascript 复制 #include<sys/types.h>#include<sys/stat.h>#include<fcntl.h>intopen(constcha...
3. 网络编程中使用errno的场景 场景一:read函数读到结尾 intnSize=read(fd,buf,buflen);//这里errno被置为EAGAIN说明读到结尾了,不返回错误,write时也是一样if(nSize==-1&&errno!=EAGAIN){return0;} 本人在简书上写的内容均为本人原创,转载需经本人同意,欢迎转载分享,请注明出处。
Linux: errno合集,各种errno对应的出错问题,方便查询 代码语言:javascript 复制 #defineEPERM1/* Operation not permitted */#defineENOENT2/* No such file or directory */#defineESRCH3/* No such process */#defineEINTR4/* Interrupted system call */#defineEIO5/* I/O error */#defineENXIO6/* No ...
// linux/errno.h is equ include/asm-generic/errno.h #ifndef _ASM_GENERIC_ERRNO_H #define _ASM_GENERIC_ERRNO_H #include #defineEDEADLK35/* Resource deadlock would occur */ #defineENAMETOOLONG36/* File name too long */ #defineENOLCK37/* No record locks available */ ...