一尘不染

如何知道“ errno”是什么意思?

linux

打电话execl(...)时我得到一个errno=2。这是什么意思?我怎么知道这个意思errno


阅读 473

收藏
2020-06-02

共1个答案

一尘不染

您可以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()

2020-06-02