| Harkonnen | 
			Allez, le dépannage de minuit avant d'aller au pieu :d
   Déja, évite ce genre de manip:
 Code :
 - fwrite(&tab_mail[i],sizeof(mail),1,fichierpti);
 
  |  
 
 car tu n'as aucun controle sur les différents membres de ta structure.
 Si tu veux sauvegarder une structure, sauvegarde ses membres 1 par 1 (surtout si tu veux les sauvegarder sous forme de tableau). Comme de plus, ce sont des chaines de caractères, il faut sauvegarder le nombre exact de caractères par chaine, et non le buffer entier de 20 caractères, on sait jamais ce qu'il contient.
 Ensuite, il faut séparer les différents champs par une tabulation ! Dans ton code, ils sont séparés par les résidus de la mémoire, d'ou les caractères bizarroides.
 Enfin, après chaque ligne, un retour chariot est nécessaire, sinon tu auras tout sur une ligne.
 Ce qui nous donne :
  Code :
 - void sauvegarde()
 - {
 - 	int i;
 - 	char nomdelasauvegarde[20];
 - 	puts(" entrer le nom de la sauvegarde\n " );
 - 	scanf("%s", nomdelasauvegarde); 
 - 	fichierpti=fopen(nomdelasauvegarde,"w" );
 - 	for (i=0;i<max;i++) {
 -   fwrite(&(tab_mail[i].user), strlen(tab_mail[i].user), 1, fichierpti);
 -   fprintf(fichierpti,"\t" ); //tabulation
 -   fwrite(&(tab_mail[i].serveur), strlen(tab_mail[i].serveur), 1, fichierpti);
 -   fprintf(fichierpti,"\t" ); //tabulation
 -   fwrite(&(tab_mail[i].adresse), strlen(tab_mail[i].adresse), 1, fichierpti);
 -   fprintf(fichierpti,"\t" ); //tabulation
 -   fprintf(fichierpti,"%d\n",tab_mail[i].taille); // derniere ligne => on saisit un retour chariot
 - 	}
 - 	fclose(fichierpti);
 - }
 
  |  
 
 ainsi, ça devrait aller beaucoup mieux !
 De plus, évite les variables globales dans tes sources, c'est mal  :non:   Enfin, Cassidy a raison ! Au lieu d'utiliser scanf, utilise fgets comme ceci :
 fgets(tab_mail[i].user, 20, stdin);
 tu récupères un maximum de 20 caractères dans le champ user de ta structure, à partir de l'entrée standard (clavier).
   Voila ! Ca devrait fonctionner (j'ai pas testé)
   Sur ce, moi je vais au dodo  [:lorelei]     A+   [jfdsdjhfuetppo]--Message édité par Harkonnen le 30-05-2002 à 00:10:36--[/jfdsdjhfuetppo]    |