打电话时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()