1
廃止予定の廃止予定のsys_errlist
およびsys_nerr
が廃止された古いコードを変更しています。誰かが私の交換を教えてもらえますか?エラー処理で廃止予定の配列の置き換えが必要
誰かがその機能について教えてくれれば、それは素晴らしいことでしょう。ここで
はコードです:
37 static const char *
38 stringErrorReport(void)
39 {
40 #if (defined(sgi))
41 return strerror(oserror());
42 #elif (defined(_AIX))
43 return strerror(errno);
44 #else
45 if (errno > 0 && errno < sys_nerr)
46 return sys_errlist[errno];
47 else
48 return "Unknown error.\n";
49 #endif
50 }
は、この関数は、()はstrerrorのラッパーで、システムにそれ自身の交換を供給しようとすると、私は非推奨sys_nerr
とsys_errlist[ ]
あなたはそれを交換することをお勧めしますか? – kingsmasher1
特に 'errno> 0 && errno
kingsmasher1
これは文字列の配列(errno.hの定数のテキスト表現)です。存在しても存在しなくてもかまいません。システムヘッダファイルは、宣言を公開してもしなくてもよい。あなたのシステムがライブラリにstrerror()を持っているなら、このテーブルはどこかに格納されます。それはあなたに似ているかもしれません。 (ただし、ループ内からstrerror()を呼び出すことでいつでも問い合わせることができます。これはむしろ愚かです)明らかに、識別子sys_nerr(テーブルサイズ)がプログラムに見えない場合は、テストすることはできません。 – wildplasser