std:: strerror
|
Défini dans l'en-tête
<cstring>
|
||
|
char
*
strerror
(
int
errnum
)
;
|
||
Retourne un pointeur vers la description textuelle du code d'erreur système errnum , identique à la description qui serait affichée par std::perror() .
errnum
est généralement obtenu à partir de la variable
errno
, cependant la fonction accepte n'importe quelle valeur de type
int
. Le contenu de la chaîne est spécifique aux paramètres régionaux.
La chaîne retournée ne doit pas être modifiée par le programme, mais peut être écrasée par un appel ultérieur à la fonction
strerror
.
strerror
n'est pas tenue d'être thread-safe. Les implémentations peuvent retourner différents pointeurs vers des littéraux de chaîne en lecture seule statiques ou peuvent retourner le même pointeur de manière répétée, pointant vers un tampon statique dans lequel
strerror
place la chaîne.
Table des matières |
Paramètres
| errnum | - | valeur entière faisant référence à un code d'erreur |
Valeur de retour
Pointeur vers une chaîne d'octets terminée par un caractère nul correspondant au errno code d'erreur errnum .
Notes
POSIX
autorise que les appels ultérieurs à
strerror
invalident la valeur du pointeur retournée par un appel précédent. Il spécifie également que c'est le
LC_MESSAGES
facet de locale qui contrôle le contenu de ces messages.
POSIX dispose d'une version thread-safe appelée
strerror_r
définie. Glibc
définit une version incompatible
.
Exemple
#include <cerrno> #include <clocale> #include <cmath> #include <cstring> #include <iostream> int main() { const double not_a_number = std::log(-1.0); std::cout << not_a_number << '\n'; if (errno == EDOM) { std::cout << "log(-1) failed: " << std::strerror(errno) << '\n'; std::setlocale(LC_MESSAGES, "de_DE.utf8"); std::cout << "Or, in German, " << std::strerror(errno) << '\n'; } }
Sortie possible :
nan log(-1) failed: Numerical argument out of domain Or, in German, Das numerische Argument ist ausserhalb des Definitionsbereiches
Voir aussi
|
affiche une chaîne de caractères correspondant à l'erreur courante vers
stderr
(fonction) |
|
|
macros pour les conditions d'erreur standard compatibles POSIX
(macro constante) |
|
|
Documentation C
pour
strerror
|
|