Bonjour,
Voici mon problème:
Depuis peu, je crée des "wrappers", c'est-à-dire des fonctions qui encapsulent d'autres fonctions, spécialement pour les appels système. Cela me permet de mieux appréhender les erreurs. Par exemple, au lieu d'appeler directement la fonction "socket( )", j'appelle "w_socket( )" qui a la forme:
avec la fonction "err_sys( )" qui utilise "strerror(errno)" et qui envoie les messages d'erreur en clair dans un fichier ou utilise syslog (Linux).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 int w_socket(int domain, int type, int protocol) { int retValue = socket(domain, type, protocol); if (retValue == -1) { err_sys("w_socket()"); } return retValue; }
Tout allait bien jusqu'au moment ou j'ai voulu mettre un wrapper autour de "sscanf( )":
Ma question est:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 int w_sscanf(const char* s, const char* format, ...) { int retValue = sscanf(s, format, ...); /* comment écrire l'appel ici ? */ if (retValue == EOF) { err_sys("w_sscanf()"); } return retValue; }
Comment appeler la fonction "sscanf( )" ne connaissant pas ses paramètres?
Partager