[affichage] d'un fichier à l'écran
Résolu/Fermé
davdoo91
Messages postés
31
Date d'inscription
jeudi 19 avril 2007
Statut
Membre
Dernière intervention
3 décembre 2009
-
19 avril 2007 à 14:10
davdoo91 Messages postés 31 Date d'inscription jeudi 19 avril 2007 Statut Membre Dernière intervention 3 décembre 2009 - 20 avril 2007 à 20:42
davdoo91 Messages postés 31 Date d'inscription jeudi 19 avril 2007 Statut Membre Dernière intervention 3 décembre 2009 - 20 avril 2007 à 20:42
A voir également:
- [affichage] d'un fichier à l'écran
- Fichier rar - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Double ecran - Guide
- Ouvrir un fichier .bin - Guide
23 réponses
davdoo91
Messages postés
31
Date d'inscription
jeudi 19 avril 2007
Statut
Membre
Dernière intervention
3 décembre 2009
2
19 avril 2007 à 15:13
19 avril 2007 à 15:13
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
Beurke
Messages postés
38
Date d'inscription
mercredi 18 avril 2007
Statut
Membre
Dernière intervention
20 juillet 2007
3
19 avril 2007 à 14:28
19 avril 2007 à 14:28
Je pense que c'est:
fgets(nom,20,stdin); etc ...
davdoo91
Messages postés
31
Date d'inscription
jeudi 19 avril 2007
Statut
Membre
Dernière intervention
3 décembre 2009
2
19 avril 2007 à 14:44
19 avril 2007 à 14:44
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.
Stupeflip
Messages postés
391
Date d'inscription
jeudi 8 février 2007
Statut
Membre
Dernière intervention
4 décembre 2007
94
19 avril 2007 à 14:47
19 avril 2007 à 14:47
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
davdoo91
Messages postés
31
Date d'inscription
jeudi 19 avril 2007
Statut
Membre
Dernière intervention
3 décembre 2009
2
19 avril 2007 à 14:55
19 avril 2007 à 14:55
je l'affiche avec stdout non?
Stupeflip
Messages postés
391
Date d'inscription
jeudi 8 février 2007
Statut
Membre
Dernière intervention
4 décembre 2007
94
19 avril 2007 à 15:06
19 avril 2007 à 15:06
Tu es sous Linux ?
davdoo91
Messages postés
31
Date d'inscription
jeudi 19 avril 2007
Statut
Membre
Dernière intervention
3 décembre 2009
2
19 avril 2007 à 15:10
19 avril 2007 à 15:10
non, windows
Stupeflip
Messages postés
391
Date d'inscription
jeudi 8 février 2007
Statut
Membre
Dernière intervention
4 décembre 2007
94
19 avril 2007 à 15:13
19 avril 2007 à 15:13
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 ?
Stupeflip
Messages postés
391
Date d'inscription
jeudi 8 février 2007
Statut
Membre
Dernière intervention
4 décembre 2007
94
19 avril 2007 à 15:16
19 avril 2007 à 15:16
C'est quoi le nom de ton fichier ?
Il est dans la structure adher ? nom c est un char* ?
Il est dans la structure adher ? nom c est un char* ?
Beurke
Messages postés
38
Date d'inscription
mercredi 18 avril 2007
Statut
Membre
Dernière intervention
20 juillet 2007
3
19 avril 2007 à 16:24
19 avril 2007 à 16:24
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); }
Stupeflip
Messages postés
391
Date d'inscription
jeudi 8 février 2007
Statut
Membre
Dernière intervention
4 décembre 2007
94
19 avril 2007 à 16:55
19 avril 2007 à 16:55
Vi mais il a l'air de vouloir utiliser stdout directement lui :)
Beurke
Messages postés
38
Date d'inscription
mercredi 18 avril 2007
Statut
Membre
Dernière intervention
20 juillet 2007
3
19 avril 2007 à 17:08
19 avril 2007 à 17:08
C'est idiot, puisqu'on fait un printf juste avant ! Soit on l'utilise partout, soit on ne l'utilise pas, non ?
Sinon, à coup de stdout, ça donne:
Sinon, à coup de stdout, ça donne:
char tab[100]; FILE *fich; fich=fopen("...","r"); if (fich==NULL) { bla bla erreur } else { fgets(tab,100,fich); fprintf(stdout,"Nom\n%s\n",tab); }
Stupeflip
Messages postés
391
Date d'inscription
jeudi 8 février 2007
Statut
Membre
Dernière intervention
4 décembre 2007
94
19 avril 2007 à 17:13
19 avril 2007 à 17:13
Rien à ajouter ^^ Variable temp et ça roule !
davdoo91
Messages postés
31
Date d'inscription
jeudi 19 avril 2007
Statut
Membre
Dernière intervention
3 décembre 2009
2
19 avril 2007 à 23:14
19 avril 2007 à 23:14
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.
davdoo91
Messages postés
31
Date d'inscription
jeudi 19 avril 2007
Statut
Membre
Dernière intervention
3 décembre 2009
2
19 avril 2007 à 23:47
19 avril 2007 à 23:47
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
Beurke
Messages postés
38
Date d'inscription
mercredi 18 avril 2007
Statut
Membre
Dernière intervention
20 juillet 2007
3
20 avril 2007 à 10:00
20 avril 2007 à 10:00
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 ?
Stupeflip
Messages postés
391
Date d'inscription
jeudi 8 février 2007
Statut
Membre
Dernière intervention
4 décembre 2007
94
20 avril 2007 à 10:10
20 avril 2007 à 10:10
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]='/'; ...
davdoo91
Messages postés
31
Date d'inscription
jeudi 19 avril 2007
Statut
Membre
Dernière intervention
3 décembre 2009
2
20 avril 2007 à 10:41
20 avril 2007 à 10:41
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
Stupeflip
Messages postés
391
Date d'inscription
jeudi 8 février 2007
Statut
Membre
Dernière intervention
4 décembre 2007
94
20 avril 2007 à 11:17
20 avril 2007 à 11:17
Tu concatènes tab, tab2 et tab3 après la saisie de la date sans oublier les '/' entre les jours/mois/année.
davdoo91
Messages postés
31
Date d'inscription
jeudi 19 avril 2007
Statut
Membre
Dernière intervention
3 décembre 2009
2
20 avril 2007 à 12:42
20 avril 2007 à 12:42
et comment tu fais ca?
andejen
Messages postés
148
Date d'inscription
jeudi 9 juin 2005
Statut
Membre
Dernière intervention
30 juillet 2008
22
20 avril 2007 à 12:51
20 avril 2007 à 12:51
avec la fonction Strcat
Beurke
Messages postés
38
Date d'inscription
mercredi 18 avril 2007
Statut
Membre
Dernière intervention
20 juillet 2007
3
20 avril 2007 à 15:07
20 avril 2007 à 15:07
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
Stupeflip
Messages postés
391
Date d'inscription
jeudi 8 février 2007
Statut
Membre
Dernière intervention
4 décembre 2007
94
20 avril 2007 à 15:19
20 avril 2007 à 15:19
Je dirais même plus, faire un sprintf pour avoir le tout dans un char * ^^ C'est encore plus propre ^^ Pis pas besoin de atoi comme ça (sauf si tu veux mettre les 0 devant !
Beurke
Messages postés
38
Date d'inscription
mercredi 18 avril 2007
Statut
Membre
Dernière intervention
20 juillet 2007
3
20 avril 2007 à 16:46
20 avril 2007 à 16:46
Justement, c'est exprès pour avoir les 0 devant
;-)
;-)