@sambia39: tout à fait. assert = à utiliser uniquement lors du développement pour traquer les erreurs d'utilisations de l'API par exemple, à ne jamais utiliser en version release pour traquer les erreurs runtime.
Un exemple plus correct remplacera l'assertion
par un
1 2 3 4
| if (f==NULL) {
perror("fopen");
exit(EXIT_FAILURE);
} |
Comme on est en C11 on peut aussi utiliser les designated init :
au lieu de :
t_capteur c = { 0, "", 0.0f };
on pourra préférer
t_capteur c = { .id=0, .nom="", .valeur=0.0f };
Dans compte = fscanf(f, "%d-%[^:s]:%f\n", &(c.id), c.nom, &(c.valeur)); le parenthésage n'est pas nécessaire la priorité de l'opérateur . étant supérieure à celle de l'opérateur & unaire. Mais bon ce n'est qu'un détail.
Partager