新媒体与网站建设seo排名助手
在linux socket通信中,我们通常用到open/bind/read/write等内部函数,那么当这些函数返回值为-1的时候,我们怎么进一步定位呢!
(1)怎么打印出返回值出错的原因呢!系统调用的错误都会存放在errno中
errno需要的头文件:
#include<errno.h>
strerror头文件,将错误信息errno转换为字符串信息,方便定位,strerror(eerno)
#include<string.h>
printf("err = %d, eer_str = %s\r\n", errno, strerror(errno));
返回值说明:
#define EPERM 1 /* Operation not permitted */define ENOENT 2 /* No such file or directory */#define ESRCH 3 /* No such process */#define EINTR 4 /* Interrupted system call */#define EIO 5 /* I/O error */#define ENXIO 6 /* No such device or address */#define E2BIG 7 /* Argument list too long */#define ENOEXEC 8 /* Exec format error */#define EBADF 9 /* Bad file number */#define ECHILD 10 /* No c