Hello,
J'ai un serveur qui ouvre un texte, le lit et l'envoi à un client qui sauve ce qu'il reçoit dans un fichier. En d'autres termes, fichier_src.txt = fichier_dest.txt.
Mon probème est le suivant: alors que mon fichier source est un fichier de plusieurs lignes, mon fichier dest ce retrouve sur une seule ligne.
Le code de base (affichant sur une ligne) est:
...
if ((fich=fopen(FICHIER,"rb"))==NULL) Erreur("Ouverture Fichier Impossible !");
TailleFichier=fread(buffer,1,FICH_MAX_SIZE,fich);
if (send(sock,buffer,TailleFichier,0)<0) Erreur("Erreur Transmission du Serveur !");
...
J'ai essayé de régler le problème en ajoutant \r\n au buffer avant de l'envoyer (vu sur cppfrance):
...
posDst=0;
FinalFile=(char *)malloc(FICH_MAX_SIZE);
for ( posSrc = 0; posSrc < FICH_MAX_SIZE; posSrc++) {
if ( buffer[posSrc] == '\n' ){
FinalFile[posDst] = '\r' ;
FinalFile[posDst+1] = '\n' ;
posDst=posDst+2;
}
else
FinalFile[posDst] = buffer[posSrc];posDst++;
}
TailleFichier=fread(FinalFile,1,FICH_MAX_SIZE,fich);
if (send(sock,FinalFile,TailleFichier,0)<0) Erreur("Erreur Transmission du Serveur !");
...
Résultat: mon fichier Dest est tout simplement vide!
HELP!
Thanx, Malik7934