[affichage] d'un fichier à l'écran
Résolu
davdoo91
Messages postés
31
Date d'inscription
Statut
Membre
Dernière intervention
-
davdoo91 Messages postés 31 Date d'inscription Statut Membre Dernière intervention -
davdoo91 Messages postés 31 Date d'inscription Statut Membre Dernière intervention -
Bonjou,
J'aurais saoir ce qui ne va pas dans ma ligne de programme.
Pour info, je veux afficher ce qu'il y a dans le fichier à l'écran comme ceci:
printf("Nom\n");
fgets(stdout,20,fich);
printf("prenom\n");
fgets(stdout,20,fich);
merci de vos réponses
J'aurais saoir ce qui ne va pas dans ma ligne de programme.
Pour info, je veux afficher ce qu'il y a dans le fichier à l'écran comme ceci:
printf("Nom\n");
fgets(stdout,20,fich);
printf("prenom\n");
fgets(stdout,20,fich);
merci de vos réponses
A voir également:
- [affichage] d'un fichier à l'écran
- Fichier bin - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier rar - Guide
- Double ecran - Guide
23 réponses
la normalement ca devrais marcher mais ca m affiche nimporte koi :
fich = fopen(adher.nom, "r");
printf("\nNom:");
fgets(tab,sizeof tab,fich);
fputs(tab,stdout);
ou tab déclaré en tableau de caractere
fich = fopen(adher.nom, "r");
printf("\nNom:");
fgets(tab,sizeof tab,fich);
fputs(tab,stdout);
ou tab déclaré en tableau de caractere
non mais en fait fich correspond à mon fichier où contient la donné nom, et je veux l'afficher à l'écran.
Mais sinon j 'ai essayé ta méthode ca ne marche pas.
Mais sinon j 'ai essayé ta méthode ca ne marche pas.
Salut,
C'est normal que tu arrives pas à afficher, tu saisies dans ta chaîne mais tu affiches pas ta chaîne !
C'est normal que tu arrives pas à afficher, tu saisies dans ta chaîne mais tu affiches pas ta chaîne !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Essaye de passer par une valeur intermédiaire qui stockera la chaine de caractère.
Sinon c'est quoi l'erreur ? Y a un msg d'erreur ? Ou ça bug ?
Sinon c'est quoi l'erreur ? Y a un msg d'erreur ? Ou ça bug ?
Si on est bien en 'C':
char tab[100]; FILE *fich; fich=fopen("...","r"); if (fich==NULL) { bla bla erreur } else { fgets(tab,100,fich); printf("Nom\n%s\n",tab); }
Vi mais il a l'air de vouloir utiliser stdout directement lui :)
c bon j ai trouvé merci de vos réponse
en fait qu en je tester j avais ouvert le fichier en écriture
puis je le réouvrais en lecture sans l avoir fermé au préalable avec fclose.
en fait qu en je tester j avais ouvert le fichier en écriture
puis je le réouvrais en lecture sans l avoir fermé au préalable avec fclose.
Par contre j'ai une autre question : je voulais savoir comment faire pour supprimer les retours chariot mis dans mon tableau tab.
Car par exemple dans mon fichier j ai ca:
4
8
1984
et j aurais aimé l afficher comme ca : 4/8/1984
Car par exemple dans mon fichier j ai ca:
4
8
1984
et j aurais aimé l afficher comme ca : 4/8/1984
Je ne suis pas sûr de comprendre. Tu pourrais montrer le fichier d'entrée et la partie du prog. qui affiche la date ?
Salut,
Soit c'est juste pour l'affichage et dans ce cas du peux faire un truc genre
Si les retours chariots gênent, tu peux décaler les indices des tab pour éviter cela.
Soit tu veux absolument avoir un tableau avec un format date
Soit c'est juste pour l'affichage et dans ce cas du peux faire un truc genre
printf("Date : %c/%c/%c%c%c%c\n",tab[0],tab[1],tab[2],tab[3],tab[4],tab[5]
Si les retours chariots gênent, tu peux décaler les indices des tab pour éviter cela.
Soit tu veux absolument avoir un tableau avec un format date
char tab2[10]; tab2[0]=tab[0]; tab2[1]='/'; ...
Programe affichage :
fich = fopen(adher.nom, "r");
printf("\nNom :");
fgets(tab,20,fich);
fputs(tab,stdout);
printf("prenom : ");
fgets(tab,20,fich);
fputs(tab,stdout);
printf("\ndate de naissance : ");
fgets(tab,20,fich);
fgets(tab2,20,fich);
fgets(tab3,20,fich);
contenu du fichier :
nom
prenom
4
8
1984
nom de la rue
ville
code postale
sport
fich = fopen(adher.nom, "r");
printf("\nNom :");
fgets(tab,20,fich);
fputs(tab,stdout);
printf("prenom : ");
fgets(tab,20,fich);
fputs(tab,stdout);
printf("\ndate de naissance : ");
fgets(tab,20,fich);
fgets(tab2,20,fich);
fgets(tab3,20,fich);
contenu du fichier :
nom
prenom
4
8
1984
nom de la rue
ville
code postale
sport
Tu concatènes tab, tab2 et tab3 après la saisie de la date sans oublier les '/' entre les jours/mois/année.
Avec strcat :
%02d: Masque pour une donnée entière sur 2 positions zérotée à gauche
atoi(): Conversion d'une chaîne de caractères en entier
strcat(tab,"/"); strcat(tab,tab2); strcat(tab,"/"); strcat(tab,tab3); fputs(tab,stdout);Mais si tu veux faire vraiment propre :
printf("%02d/%02d/%04d\n", atoi(tab), atoi(tab2), atoi(tab3) );Pour explication:
%02d: Masque pour une donnée entière sur 2 positions zérotée à gauche
atoi(): Conversion d'une chaîne de caractères en entier