2012-04-22 7 views
0

どのようにエラーをperrorスタックに追加できますか?ここ私のエラーの説明を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; 
} 
+5

これはAAAAAAAAAAAALLLLLではなく、errnoサブシステムの仕組み... –

+0

これはC++です。**例外を使用してください!! ** – jli

+0

C++ではありません。 –

答えて

2

標準的な新しいerrno値を追加する方法(または非標準は、私の知るシステムでは、)はありません何をしたいの例です。 errnoに既存の値を割り当てることはできますが、これは標準ライブラリに含まれていないものには適していません。

2

唯一の方法は、Cの標準ライブラリを変更することです、あなたはそれをしたくありません。

libcを変更して変更したものを使用した場合は、errnoの番号を追加できます。しかし、あなたのプログラムは、変更された "標準"ライブラリを持つシステムでのみ正しく動作します。

関連する問題