Linux系统调用(四)—出错处理

发布于 2022-07-21 04:03:30 字数 2263 浏览 6 评论 0

1.
名称::        perror
功能:        该函数在stderr流中输出错误信息
头文件:        #include <stdio.h>
函数原形:         void perror(const char *message)
参数:        message  
返回值:        无

如果调用perror是使用的message参数是一个空指针或者一个空字符串,则perror函数将打印与errno相对的错误信息,以及一个换行符。
如果提供的message参数非空,则perror函数将作为前缀首先输出该字符串的内容,然后添加一个冒号和空格字符,最后是errno向对应的错误信息。
例:

  1. #include <stdio.h>
  2. #include <sys/type.h>
  3. #include <sys/stat.h>
  4. #include <fcntl.h>
  5. int main(int argc,char *argv[])
  6. {
  7. int fd;
  8. if(fd=open(argv[1],O_RDWR)==-1)
  9.     perror(argv[1]);
  10. else
  11.     perror(argv[1]);
  12. }

复制代码

下面是运行结果:

  1. #./perror perror.c
  2. perror.c: success
  3. #./perror perror.x
  4. No such file or directory
  5. #./perror perror
  6. perror: Text file busy

复制代码

2.
名称::        errno
功能:        number of last error
头文件:        #include <errno.h>
函数原形:         extern int errno;
参数:        0
负数

3.
名称::        strerror/strerror_r
功能:        return string describing error code
头文件:        #include <string.h>
函数原形:         char *strerror(int errnum);
int strerror_r(int errnum,char *buf,size_t n);
参数:        errnum  
返回值:        指向串的指针。
errnum的值通常来自errno,不因该修改strerror所返回的串,以后再次调用strerror时重写该串。

4.
名称:        ferror feof clearerr
目标:         标准I/O 的出错处理。
头文件:        #include <stdio.h>
函数原形:        int ferror(FILE fp);
int feof(FILE fp);
void clearerr(FILE fp);
参数:        
返回值:

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文