C bind() Fehlersuche
In den man-pages steht zu bind(), dass bei Erfolg 0 zurückgegeben wird und bei einem Fehler -1. Darunter steht eine Liste mit Fehlern die kommen können. Wenn ich nun bind() in einem Programm aufrufe und es einen Fehler gibt, wie finde ich heraus welcher von den in der Liste vorkommenden Fehlern nun der aufgetretene ist?
|
AW: C bind() Fehlersuche
Hey :)
Das sind einfach vordefinierte Makrokonstanten. Das ist einfach ein numerischer Wert, den du mit dem Errorcode normal über "if" vergleichen kannst. Gruß, Brighty :) |
AW: C bind() Fehlersuche
Also obwohl bind() nur -1 zurückgibt kann ich einfach errno.h includen und dann mit
Code:
das abfragen oder wie meinst du es sonst?
if ( errno == EACCES )
{ fprintf(stderr, "The address is protected, and the user is not the superuser.") } *edit* Ich habe jetzt gefunden, dass man es so machen kann:
Code:
Wie würde ich das mit fprintf nutzen? Einfach so?:
printf("Oh dear, something went wrong! %s\n", strerror(errno));
Code:
fprintf(stderr, "Oh dear, something went wrong! %s\n", strerror(errno));
|
AW: C bind() Fehlersuche
Ah! Du wolltest den Fehlerstring ausgeben. War davon ausgegangen, dass du in einem bestimmten Fehlerfall als Fallback dich anders verhalten willst :oops:
Jup. So hatte ich das im Kopf. Wollte dir Code schreiben, aber am Handy ist das immer ein wenig umständlich... :oops: Ich habe oft eine separate Funktion definiert, die dann das Errorhandling macht oder gebe je nach Anwendungsfall den Fehler aus meiner Funktion zurück. Ich persönlich mag die globale errno nicht sonderlich, da sie von anderen Calls mitverwendet wird...:roll: Brighty |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:43 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz