Immer wenn eine Funktion der ILE C/C++ Run-Time Library verwendet wird, die ein Ergebnis in 'errno' stellt, so wird 'errno' auch ein Wert zugewiesen. Ich bin in der Litaratur auch schon öfters darauf gestoßen, dass vor dem Verwenden einer Funktion 'errno' initialisiert werden sollte. Also vor Deinem 'open' einfach 'errno = 0' codieren. Nach dem 'open' kannst Du dann 'errno' abfragen. In den Handbüchern findest Du dann die Bedeutung der einzelnen Codes.