Benutzung von errno
Von: Robert Hartmann (robert_hartmann@gmx.net) [Profil]
Datum: 07.07.2009 13:49
Message-ID: <h2vcnl$1vo9$1@ariadne.rz.tu-clausthal.de>
Newsgroup: de.comp.lang.c
Datum: 07.07.2009 13:49
Message-ID: <h2vcnl$1vo9$1@ariadne.rz.tu-clausthal.de>
Newsgroup: de.comp.lang.c
Hallo zusammen, Ich habe in der errno.h nach einem Fehlernummer benennenden Namen für den Fehler "Index out of Range" gesucht, ihn aber nicht gefunden. In der mir vorliegenden errno.h sind bis zu 42 Fehler aufgelistet unterbrochen von einigen unbekannten Fehlernummern. Ziel meiner Frage ist es eine Funktion, die im Fehlerfall 0 zurückliefert und errno entsprechend Ihrem Fehler setzt, zu schreiben mit der Signatur int getPosData(*Array A, size_t pos) dabei ist Array ein struct, der neben einem dynamisch erzeugten Bereich für Integerwerte eine die Anzahl aufnehmende Variable "anzahl" vom Typ size_t besitzt. Offensichtlich könnte es zwei Arten von Fehlern geben: 1. Auf A kann nicht zugegriffen werden, wenn A NULL ist. Hier müsste man errno wohl sinnvollerweise auf EFAULT (Bad address) setzen. 2. Auf A kann zugegriffen werden, aber (pos>(anzahl-1)) oder (pos<0): Hier könnte man errno wohl auf EINVAL (Invalid argument) oder EACCES (Permission denied) setzen. Auch meine Googlesuche nach errno + "Index out of range" war nicht erhellend. Habt Ihr eine weitergehende Idee? Gruß Robert[ Auf dieses Posting antworten ]
Antworten
- MIchael Schumacher (07.07.2009 14:38)
- Harald Wenninger (07.07.2009 14:58)
- Claudio Carobolante (07.07.2009 18:58)
- MIchael Schumacher (07.07.2009 21:32)
- Stefan Reuther (07.07.2009 22:49)
- MIchael Schumacher (08.07.2009 00:29)
- Stefan Reuther (08.07.2009 18:49)
- Claudio Carobolante (07.07.2009 22:56)
- MIchael Schumacher (08.07.2009 00:52)
- Rainer Weikusat (08.07.2009 09:15)
- Leonard Orb (08.07.2009 13:44)
- Rainer Weikusat (08.07.2009 15:06)
- Harald Wenninger (07.07.2009 23:03)
- Markus Raab (07.07.2009 20:19)
- MIchael Schumacher (07.07.2009 22:35)
- Markus Raab (08.07.2009 21:21)
- Thomas Rachel (10.07.2009 07:06)
- Claus Reibenstein (07.07.2009 23:56)
- Claus Reibenstein (07.07.2009 16:11)
- Florian Weimer (07.07.2009 20:59)
- Robert Hartmann (08.07.2009 11:27)
- Harald Wenninger (08.07.2009 12:07)
- Claus Reibenstein (08.07.2009 17:58)
- Stefan Reuther (07.07.2009 19:09)
