catopen は、同じ設定で異なるサーバーにある同じ cat ファイルを開くことができません。
errno が 0 の場合、私の理解ではエラーがないことを意味します。
誰かが前にこのようなものを見たことがあれば教えてください。誰かがそれが起こっている理由を知っていれば、それは私にとって非常に役に立ちます
私が書いたサンプルコード
int main()
{
nl_catd cat;
string fileName;
cout<<"Enter the cat file name: ";
cin>>fileName;
cat = catopen(fileName.c_str(), 0);
if (cat == (nl_catd)-1)
{
cerr << "Unable to open catalogue: " << fileName <<" ....and the Error number: "<<errno<<"\n";
exit(1);
}
printf("File opened...\n");
catclose( cat );
exit(0);
}
上記コードの出力
成功した場合:
./a.out cat ファイル名を入力してください: LinkMonitor.epod.cat ファイルを開いています...
故障の場合:
./a.out cat ファイル名を入力してください: ehap_ac_in.epod.cat カタログを開けません: ehap_ac_in.epod.cat0
ここで、0 はエラー コードです。