に電話するとexecl(...)
、 が聞こえますerrno=2
。これはどういう意味ですか? この の意味を知るにはどうしたらいいですかerrno
?
ベストアンサー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()
。