Fichier c
Résolu/Fermé
rachou1
Messages postés
30
Date d'inscription
jeudi 20 août 2009
Statut
Membre
Dernière intervention
31 décembre 2014
-
30 oct. 2011 à 22:44
rachou1 Messages postés 30 Date d'inscription jeudi 20 août 2009 Statut Membre Dernière intervention 31 décembre 2014 - 1 nov. 2011 à 07:43
rachou1 Messages postés 30 Date d'inscription jeudi 20 août 2009 Statut Membre Dernière intervention 31 décembre 2014 - 1 nov. 2011 à 07:43
A voir également:
- Fichier c
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier host - Guide
- Ouvrir fichier .bin - Guide
7 réponses
le_framboisier
Messages postés
7
Date d'inscription
lundi 31 octobre 2011
Statut
Membre
Dernière intervention
3 novembre 2011
2
31 oct. 2011 à 12:58
31 oct. 2011 à 12:58
Bonjour,
Je viens de relire ton code à tête reposée.
Il paraît plus simple selon moi de faire :
Qui devrait compiler sauf distraction.
Cordialement,
le_framboisier.
Je viens de relire ton code à tête reposée.
Il paraît plus simple selon moi de faire :
#include <stdio.h> int main() { int c; // on déclare nos variables FILE * fi = NULL;//on initialise le pointeur fi = fopen("fic.txt", "w+");//on tente d'ouvrir le fichier en écriture if(fi==NULL){ // le test se place ici pas dans la boucle printf("\n Fichier inexistant\n"); return; } do{//une boucle do...while est selon moi plus appropriée printf("Saisir caractere \n");//on demande d'entrer un caractére c = getchar();//on récupére le caractére fputc( c, fi);//on inscrit le caractére dans le fichier }while(c!=ton_caractere_qui_signale_la_fin_de_l_ecriture)// tout est dit fclose(fi);//on n'oublie le pointeur ! return 0; }
Qui devrait compiler sauf distraction.
Cordialement,
le_framboisier.
le_framboisier
Messages postés
7
Date d'inscription
lundi 31 octobre 2011
Statut
Membre
Dernière intervention
3 novembre 2011
2
31 oct. 2011 à 02:16
31 oct. 2011 à 02:16
Bonsoir,
la solution de le père est bonne à un détail près il me semble : fp n'est pas défini mais fi si donc
fi = fopen("fic.txt","w+"); est selon moi plus approprié.
Cordialement,
le_framboisier
la solution de le père est bonne à un détail près il me semble : fp n'est pas défini mais fi si donc
fi = fopen("fic.txt","w+"); est selon moi plus approprié.
Cordialement,
le_framboisier
rachou1
Messages postés
30
Date d'inscription
jeudi 20 août 2009
Statut
Membre
Dernière intervention
31 décembre 2014
1
31 oct. 2011 à 08:30
31 oct. 2011 à 08:30
Merci pour ces indications :) , il n'y a plus d 'erreur de compilation .
Mais il n'y a toujours rien d'écrit dans mon fichier fic.txt ..
Mais il n'y a toujours rien d'écrit dans mon fichier fic.txt ..
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
rachou1
Messages postés
30
Date d'inscription
jeudi 20 août 2009
Statut
Membre
Dernière intervention
31 décembre 2014
1
31 oct. 2011 à 16:49
31 oct. 2011 à 16:49
Merci beaucoup pour ton aide, en effet ça marche !
Desolé, j'ai a nouveau une question... Au lieu de récupérer les caractères un à un, j'aimerai récupéré une chaine de caractère en entière. Pour cela on utilise bien fgets ? fgets(phrase, size of phrase, fi)
Mais pour la variable c on le laisse en int et on crée une nouvelle variable char phrase[256] pour y mettre la phrase tapé ?
Desolé, j'ai a nouveau une question... Au lieu de récupérer les caractères un à un, j'aimerai récupéré une chaine de caractère en entière. Pour cela on utilise bien fgets ? fgets(phrase, size of phrase, fi)
Mais pour la variable c on le laisse en int et on crée une nouvelle variable char phrase[256] pour y mettre la phrase tapé ?
le_framboisier
Messages postés
7
Date d'inscription
lundi 31 octobre 2011
Statut
Membre
Dernière intervention
3 novembre 2011
2
31 oct. 2011 à 21:47
31 oct. 2011 à 21:47
Bonsoir,
Tout d'abord je suis content que cela compile :) .
Ensuite fgets est bien le moyen le plus approprié pour récupérer une chaîne de caractères dans un fichier.
Tu peux effectivement utiliser une variable char phrase[256] pour stocker ta phrase mais cela peut provoquer des erreurs si l'entrée dépasse cette quantité a priori cela ne devrait pas poser de réels problèmes dans ton cas donc tu peux te le permettre
.
Si toutefois ça t'intéresse, tu peux te renseigner sur l'allocation dynamique de mémoire (grâce à malloc) et l'utilisation de l'opérateur sizeof qui sont un bon moyen de gérer ce genre de situation. De plus, la variable c devient alors inutile vu que l'on utilisera seulement phrase[256] pour stocker notre chaîne.
P.S. : l'idéal c'est d'aller voir dans la documentation (pour fgets notamment) :). Google est ton ami ! Et pense à mettre ton sujet en résolu !
Cordialement,
le_framboisier
Tout d'abord je suis content que cela compile :) .
Ensuite fgets est bien le moyen le plus approprié pour récupérer une chaîne de caractères dans un fichier.
Tu peux effectivement utiliser une variable char phrase[256] pour stocker ta phrase mais cela peut provoquer des erreurs si l'entrée dépasse cette quantité a priori cela ne devrait pas poser de réels problèmes dans ton cas donc tu peux te le permettre
.
Si toutefois ça t'intéresse, tu peux te renseigner sur l'allocation dynamique de mémoire (grâce à malloc) et l'utilisation de l'opérateur sizeof qui sont un bon moyen de gérer ce genre de situation. De plus, la variable c devient alors inutile vu que l'on utilisera seulement phrase[256] pour stocker notre chaîne.
P.S. : l'idéal c'est d'aller voir dans la documentation (pour fgets notamment) :). Google est ton ami ! Et pense à mettre ton sujet en résolu !
Cordialement,
le_framboisier
rachou1
Messages postés
30
Date d'inscription
jeudi 20 août 2009
Statut
Membre
Dernière intervention
31 décembre 2014
1
1 nov. 2011 à 07:43
1 nov. 2011 à 07:43
D'accord merci beaucoup de ton aide ! :)