UNIX系统中C语言的使用及相关技术解析
1. 错误处理与信号处理
在UNIX系统中使用C语言编程时,错误处理是一个重要的环节。当系统调用或库函数调用失败时,通常会返回 -1,并将外部整数errno设置为一个特定的值,以指示发生的具体错误。描述这些错误的字符串存储在名为sys_errlist的外部字符指针数组中。同时,用于检查特定错误的常量定义在errno.h头文件中。
perror库函数接受一个字符串参数,它会打印该字符串,后跟一个冒号,再加上sys_errlist中描述errno错误号的字符串,输出到标准错误输出。示例代码如下:
#include <stdio.h> #include <errno.h> int main() { FILE *fp = fopen("nonexistent_file.txt", "r"); if (fp == NULL) { perror("Error opening file"); } return 0; }Berkeley UNIX 还提供了一个类似于perror的函数psignal,它接受两个参数:一个整数信号编号和一个指向字符串的指针。它会打印该字符串,后跟一个冒号,再加上描述信号的字符串,输出到标准错误输出