Bonjour,
J'ai défini les define suivantPour ne changer la taille d'un message qu'à un endroit.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 #define taille_max_msg 1976 #define taille_max_msg_03 1582
Avant nous avions le code suivant.
Que j'ai transformé ainsi
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 fprintf(fic_messages, "%13s%02s%-1976s\n", msg_ts.wmsg_ven_num, msg_ts.wmsg_msg_typ, msg_ts.wmsg_msg_msg);
Bien évidemment cela ne donne pas le même résultat, je devais dormir quand j'ai écrit ça.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 fprintf(fic_messages, "%13s%02s%-taille_max_msgs\n", msg_ts.wmsg_ven_num, msg_ts.wmsg_msg_typ, msg_ts.wmsg_msg_msg);
Maintenant la question est comment obtenir le même résultat, avec quelque chose d'élégant et de lisible
J'ai pensé à ceci, mais je trouve cela, pas très lisible.
Avez vous une autre idée?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 char format[100]; strcpy(format,"%13s%02s%-"); strcat(format,itoa(taille_max_msg)); strcat(format,"s\n"); fprintf(fic_messages, format, msg_ts.wmsg_ven_num, msg_ts.wmsg_msg_typ, msg_ts.wmsg_msg_msg);
PS : Je sais que itoa n'est pas standard, mais il existe dans mon application.
Cordialement
soazig








Répondre avec citation




Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
+ 



Partager