跳转到内容

strerror:将错误编号转换为字符串

#include <string.h>
char *strerror(int errnum);
```### 描述
strerror 将错误编号 errnum 转换为一个字符串。errnum 的值通常是 errno 的副本。如果 errnum 不是已知的错误编号,则结果指向一个空字符串。
strerror 的此实现会为 `errno.h' 中定义的每个值打印出以下字符串:
E2BIG Arg list too long
EACCES Permission denied
EADV Advertise error
EAGAIN No more processes
EBADF Bad file number
EBADMSG Bad message
EBUSY Device or resource busy
ECHILD No children
ECOMM Communication error
EDEADLK Deadlock
EEXIST File exists
EDOM Math argument
EFAULT Bad address
EFBIG File too large
EIDRM Identifier removed
EINTR Interrupted system call
EINVAL Invalid argument
EIO I/O error
EISDIR Is a directory
ELIBACC Cannot access a needed shared library
ELIBBAD Accessing a corrupted shared library
ELIBEXEC Cannot exec a shared library directly
ELIBMAX Attempting to link in more shared libraries than system limit
ELIBSCN .lib section in a.out corrupted
EMFILE Too many open files
EMLINK Too many links
EMULTIHOP Multihop attempted
ENAMETOOLONG File or path name too long
ENFILE Too many open files in system
ENODEV No such device
ENOENT No such file or directory
ENOEXEC Exec format error
ENOLCK No lock
ENOLINK Virtual circuit is gone
ENOMEM Not enough space
ENOMSG No message of desired type
ENONET Machine is not on the network
ENOPKG No package
ENOSPC No space left on device
ENOSR No stream resources
ENOSTR Not a stream
ENOSYS Function not implemented
ENOTBLK Block device required
ENOTDIR Not a directory
ENOTEMPTY Directory not empty
ENOTTY Not a character device
ENXIO No such device or address
EPERM Not owner
EPIPE Broken pipe
EPROTO Protocol error
ERANGE Result too large
EREMOTE Resource is remote
EROFS Read-only file system
ESPIPE Illegal seek
ESRCH No such process
ESRMNT Srmount error
ETIME Stream ioctl timeout
ETXTBSY Text file busy
EXDEV Cross-device link### 返回值
此函数返回一个指向字符串的指针。您的应用程序不得修改该字符串。
---
**权威来源**: BUSMASTER DITA help source `strerror.dita`, compiled into `BUSMASTER.CHM` with the application.