Bonjour,
j'envoie par socket le contenu d'un fichier, à l'aide d'un buffer de taille fixe de 256 octets. Pour ce faire, j'utilise un ifstream et sa fonction read(buffer, count). Je passe donc 256 comme paramètre count.
Mon problème est que sur le dernier read, il est probable que moins de 256 octets seront lus, et mes clients se retrouvent avec du n'importe quoi après la fin de fichier. Cela leur cause des problèmes. Il faudrait que je leur dise combien d'octets lire dans le buffer que je leur envoie. Or la fonction ifstream::read ne me retourne pas le nombre d'octets lus. Suis-je contraint d'utiliser les fonctions C plutôt ou y a-t-il moyen de le faire avec les streams C++?
Merci,
Dr Dédé
Partager