C 如何将我的错误描述添加到perror函数

C 如何将我的错误描述添加到perror函数,c,error-handling,errno,C,Error Handling,Errno,如何向perror堆栈添加错误 这是我想要的一个例子 #include <stdio.h> #include <stdlib.h> int Div (int a, int b, int * c) { if (b == 0) { // add to perror: "cannot divide by zero!" return 0; } *c = a / b; return 1; } int main () {

如何向perror堆栈添加错误

这是我想要的一个例子

#include <stdio.h>
#include <stdlib.h>

int Div (int a, int b, int * c) {
   if (b == 0) {
       // add to perror: "cannot divide by zero!"
       return 0;
   }
   *c = a / b;
   return 1;
}

int main () {
   int n;
   if (!Div(2, 0, &n)) {
      perror("could not divide");
   }
   return 1;
}
#包括
#包括
内部分区(内部a、内部b、内部c){
如果(b==0){
//添加到perror:“不能被零除!”
返回0;
}
*c=a/b;
返回1;
}
int main(){
int n;
如果(!Div(2、0和n)){
佩罗尔(“无法分割”);
}
返回1;
}

没有标准(或非标准,就我所知的系统而言)的方法来添加新的
errno
值;您可以指定给
errno
以使用现有值,但这对于任何不属于标准库的内容都不是一个好主意。

没有标准(或非标准,在我知道的系统上)方法来添加新的
errno
值;您可以指定给
errno
以使用现有值,但这对于标准库以外的任何内容都不是一个好主意。

唯一的方法是更改C标准库,您不想这样做


如果您更改
libc
并使用修改后的,您可以添加自己的
errno
编号。但是,您的程序只能在具有修改后的“标准”库的系统上正常工作。

唯一的方法是更改C标准库,您不想这样做


如果您更改
libc
并使用修改后的,您可以添加自己的
errno
编号。但是你的程序只会在你修改的“标准”库系统上正常工作。< /P>这不是AAAAAAAAAAAAL LLL,ErrNO子系统是如何工作的…如果这是C++…使用例外@艾布拉姆斯:它是如何工作的?我也对这一点感到好奇:-)删除了C++标签。@弥敦:你填写<代码> ErnOn>代码>和<代码> PrRoR()>代码>比“东西爆炸”增添了更多的味道。详情请参阅<代码> PrRor(3)手册页。这不是ArAAAAAAAAAA LLL如何运行的子系统…如果这是C++…使用例外@艾布拉姆斯:它是如何工作的?我也对这一点感到好奇:-)删除了C++标签。@弥敦:你填写<代码> ErnOn>代码>和<代码> PrRoR()>代码>比“东西爆炸”增添了更多的味道。有关详细信息,请参阅
perror(3)
手册页。