1. 首页
  2. 操作系统
  3. Unix
  4. 鸿鹄论坛|华为认证H35-211 HCNP Access Network题库

鸿鹄论坛|华为认证H35-211 HCNP Access Network题库

上传者: 2024-07-17 11:43:36上传 PDF文件 18.16MB 热度 12次

当UNIX函数出错时,往常返回一个负值,而且整型变量errno通常设置为具有特定信息的一个值。例如,open函数如成功执行则返回一个非负文件描述符,如出错则返回-1。在open出错时,有大约15种不同的errno值(文件不存在,许可权问题等)。某些函数并不返回负值而是使用另一种约定。例如,返回一个指向对象的指针的大多数函数,在出错时,将返回一个null指针。文件中定义了变量errno以及可以赋与它的各种常数。这些常数都以E开头,另外,UNIX手册第2部分的第1页,intro(2)列出了所有这些出错常数。例如,若errno等于常数EACCES,这表示产生了权限问题(例如,没有打开所要求文件的权限)。POSIX定义errno为:extern int errno; POSIX.1中errno的定义较C标准中的定义更为苛刻。C标准允许errno是一个宏,它扩充成可修改的整型左值(lvalue)(例如返回一个指向出错数的指针的函数)。对于errno应当知道两条规则。第一条规则是:如果没有出错,则其值不会被一个例程清除。因此,仅当函数的返回值指明出错时,才检验其值。第二条是:任一函数都不会将errno值设置为0,在中定义的所有常数都不为0。

相关资源可以参考以下链接:

C标准定义了两个函数,它们帮助打印出错信息。#include char *strerror(int errnum); 返回:指向消息字符串的指针此函数将errnum(它通常就是errno值)映射为一个出错信息字符串,并且返回此字符串的指针。

用户评论