Ecriture dans un fichier texte ...
hassine
-
ElementW Messages postés 5690 Statut Contributeur -
ElementW Messages postés 5690 Statut Contributeur -
Bonjour, je veut ecrire dans le fichier utlisateur .... le fichier s'est ouvert mais l'ecriture ne s'affiche pas .... merci d'avance pour l'aide
#include<stdio.h>
int main ()
{
FILE* utilisateur ;
char code[3];
char nom [20];
utilisateur = fopen("utilisateur.txt","w");
if (utilisateur != NULL)
{
printf("code :" ) ;
scanf("%s" , &code) ;
printf("nom :") ;
scanf("%s", &nom);
fprintf(utilisateur ,"code :%s ","nom :%s " ,code , nom);
fclose(utilisateur) ;
}
return 0;
}
#include<stdio.h>
int main ()
{
FILE* utilisateur ;
char code[3];
char nom [20];
utilisateur = fopen("utilisateur.txt","w");
if (utilisateur != NULL)
{
printf("code :" ) ;
scanf("%s" , &code) ;
printf("nom :") ;
scanf("%s", &nom);
fprintf(utilisateur ,"code :%s ","nom :%s " ,code , nom);
fclose(utilisateur) ;
}
return 0;
}
2 réponses
-
-
"mais l'ecriture ne s'affiche pas ": ton code n'est pas censé afficher ce que tu as tapé mais est censé écrire dans un fichier.
Le problème se trouve sur cette ligne:fprintf(utilisateur ,"code :%s ","nom :%s " ,code , nom);
Le premier argument est correct, on écrit bien dans le fichier, mais le 2e et 3e ne sont pas bons: il ne doit y avoir qu'une seule chaîne de caractères définissant le formatage; et ici c'est juste"code :%s "
, qui prendra l'argument suivant en tant que string et va l'écrire comme ça dans le fichier, sans autre formatage, tu te retrouves donc avec ça dans ton fichier:code :nom :%s
Autant dire que c'est pas ce qu'on cherche, réunissons les 2 chaines de format:fprintf(utilisateur ,"code :%s\nnom :%s " ,code , nom);
Oh magie, ça marche."\n"
fait un retour à la ligne; sur Windows il faut mettre"\r\n"
à la place.