打电话execl(...)时我得到一个errno=2。这是什么意思?我怎么知道这个意思errno?
execl(...)
errno=2
errno
您可以strerror()用来获取易于理解的错误号字符串。这是由相同的字符串打印出来的,perror()但是如果您要格式化错误消息而不是标准错误输出,这将很有用。
strerror()
perror()
例如:
#include <errno.h> #include <string.h> /* ... */ if(read(fd, buf, 1)==-1) { printf("Oh dear, something went wrong with read()! %s\n", strerror(errno)); }
Linux还支持显式线程安全变体strerror_r()。
strerror_r()