Ecriture dans un fichier texte ...
hassine
-
ElementW Messages postés 4814 Date d'inscription Statut Contributeur Dernière intervention -
ElementW Messages postés 4814 Date d'inscription Statut Contributeur Dernière intervention -
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;
}
A voir également:
- Ecriture dans un fichier texte ...
- Fichier bin - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier rar - Guide
- Fichier .dat - Guide
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:
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
Oh magie, ça marche.
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 :%sAutant 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.