bonjour à tous

voila je m'exerce aux tableaux de structures et aux enum

voici déjà ce que j'ai fais :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
#define ERREUR_DEBUT 1000
enum _config_error
{
	ERREUR_DIVISION_ZERO = ERREUR_DEBUT, //erreur 1000
	ERREUR_NOMBRE_ARGUMENTS, //erreur 1001
};
 
// Description des erreurs
struct _errordesc
{
	int code;
	char *message;
}
 
errordesc[] = {
{ ERREUR_DIVISION_ZERO, "Division par zero" },
{ ERREUR_NOMBRE_ARGUMENTS, "Nombre d'arguments incorrect" },
};
lorsque je l'utilise dans mon programme je procède de cette manière :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
fprintf(stderr, "erreur %d : %s\n", errordesc[1].code, errordesc[1].message);
getchar();
exit(errordesc[1].code);
jusque la pas de problème
Mais puis-je afficher le message lié au numéro de l'erreur (1001 par ex) sans connaitre le numéro du tableau ?
de cette manière :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
int func()
{
   if(...)
   {
      return errordesc[1].code;
   }
   return 0;
}
 
int main()
{
   int n;
   n = func();
   if(n != 0)
   {
      //afficher ici le message associé au numéro 1001 (sans connaitre la case du tableau)
   }
}
Merci à vous