| Freeware Files | Freeware Games for Windows Vista and Windows XP | Free Screen Savers ............ Page Navigation >> Prev | Contents | Next |
Print an error as a human-readable string
#include <stdio.h>
void perror(const char *s);
#include <string.h>
char *strerror(int errnum);
Since so many functions return -1 on error and set the value of the variable errno to be some number, it would sure be nice if you could easily print that in a form that made sense to you.
Mercifully, perror() does that. If you want more description to be printed before the error, you can point the parameter s to it (or you can leave s as NULL and nothing additional will be printed.)
In a nutshell, this function takes errno values, like ECONNRESET, and prints them nicely, like "Connection reset by peer."
The function strerror() is very similar to perror(), except it returns a pointer to the error message string for a given value (you usually pass in the variable errno.)
strerror() returns a pointer to the error message string.
int s;
s = socket(PF_INET, SOCK_STREAM, 0);
if (s == -1) { // some error has occurred
// prints "socket error: " + the error message:
perror("socket error");
}
// similarly:
if (listen(s, 10) == -1) {
// this prints "an error: " + the error message from errno:
printf("an error: %s\n", strerror(errno));
}
|
| Freeware Files | Freeware Games for Windows Vista and Windows XP | Free Screen Savers ............ Page Navigation >> Prev | Contents | Next |