Bonjour,
Je transmets d'un système A des fichiers binaires ou ASCII via une liaison rs232 vers un autre système B.
Afin de réaliser une progression de l'état de transfert d'un fichier, j'effectue un pré-calcul du nombre de caractère que je vais transmettre NbA1 sur le système A.
Je comptabilise tous mes caractères reçus en système B dans NbB1.
Et je n'arrive jamais à avoir NbA1 = NbB1.
Le pré calcul est effectué en additionnant les longueurs du return d'un
L'envoie utilise aussi un sprintf et envoie le
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 NbA1 += sprintf(buf, "%c", c);
la réception comptabilité la taille du buffer reçu
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 printf(buf);
Ce qui est étonnant c'est que je retrouve bien exactement les même fichiers sur les deux systèmes après le transfert.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 NbB1 += strlen(buf2);
Avez-vous une autre solution?
Partager