Bonjour,
j'ai un serveur qui récupère des données et les écrit dans un fichier texte data.txt via la class ofstream, et ca marche très bien. Mais quand j'entre dans le fichier data.txt, que j'efface toutes les data dans le fichier, et ensuite réémet des données au serveur, le serveur inscrit des données totalement fausses dans le fichier (plein de 0, on dirait meme de l'hexa).
j'ai remarqué que j'émet 40ko, et lorsque j'efface les data dans le fichier data.txt puis réémet des data sur le serveur, mon fichier fait 80ko de data au lieu de 40ko.
Avez vous une idée de pourquoi ca fait ca. Est ce un probleme de curseur, car le serveur écrit à un endroit et ne sait pas que des données ont été effacé?
voici mon code:
merci d'avance pour votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 int main(int argc, char const *argv[]) { ofstream fichier("data.txt", ios::in | ios::trunc); TcpServer socket(30000); // numéro du port = 30000 string textRecu; if(fichier){ while(1){ textRecu = socket.lire(); fichier<< textRecu << std::endl; } }
Partager