Votre question

Ouverture de fichiers

Tags :
  • Programmation
Dernière réponse : dans Programmation
13 Avril 2010 10:28:13

Bonjour tous :) 

Pouvez vous me commenter ce code car sur un site il y avait ce commentaire et c'est pas bien expliqué ( c'est plutôt embrouillant) :


  1. FILE* fopen(const char* nomDuFichier, const char* modeOuverture);
  2. /*Cette fonction renvoie un pointeur sur une structure de type FILE. Cette structure est définie dans stdio.h.
  3. */
  4.  
  5. int main(void)
  6. {
  7. FILE* fichier = NULL;
  8.  
  9. fichier = fopen("test.txt", "r+"); /*Le pointeur "fichier" devient alors un pointeur sur "test.txt".*/
  10.  
  11. /*Le pointeur "fichier" devrait contenir l'adresse de la structure de type FILE qui sert de descripteur de fichier*/
  12.  
  13.  
  14. return 0;
  15. }

Autres pages sur : ouverture fichiers

13 Avril 2010 13:49:49

Merci..

Pouvez vous reprendre le code et faire les mêmes commentaires plus simple pour débutant comme ça je pourrais le schématiser dans ma tite tête...


Autre questions :


1/ Est ce que la structure FILE a une variable nommé "fichier" de type FILE ? ( je me pose la question car le pointeur sur FILE se nomme "fichier" )


2/ Est ce que "test.txt" et "w" sont des chaines de caractère? si oui, pourquoi "w" est une chaine alors qu'il contient qu'un caractère "w" ?
m
0
l
Contenus similaires
13 Avril 2010 18:30:14

up..
m
0
l
13 Avril 2010 18:54:46

zollen777 a dit :
Merci..

Pouvez vous reprendre le code et faire les mêmes commentaires plus simple pour débutant comme ça je pourrais le schématiser dans ma tite tête...


Autre questions :


1/ Est ce que la structure FILE a une variable nommé "fichier" de type FILE ? ( je me pose la question car le pointeur sur FILE se nomme "fichier" )


2/ Est ce que "test.txt" et "w" sont des chaines de caractère? si oui, pourquoi "w" est une chaine alors qu'il contient qu'un caractère "w" ?

Pour le code, je ne vois pas trop ce qu'il y a à expliquer, si tu as suivi les leçons qui précèdent normalement celle-là sur le site du zero, tu ne devrais pas avoir de problème à comprendre.
http://www.siteduzero.com/tutoriel-3-14052-lire-et-ecri...
Si tu as des questions sur des points en particulier, demande.

1)Pas vraiment. C'est juste qu'on a déclaré une variable nommée fichier de type FILE * (pointeur vers une structure FILE). Tu n'as normalement pas besoin de savoir comment la structure FILE est construite, sa forme dépend de l'implémentation, et ce sont les fonctions fopen, fread, fprintf..., qui doivent y accéder.
http://tigcc.ticalc.org/doc/stdio.html#FILE

2) Oui: ça se voit, vu qu'elles utilisent les guillemets " qui déterminent des chaines de caractère en C.
Les apostrophes ' sont pour les caractères uniques.
La chaine "w" est différente du caractère 'w': en réalité, la chaine de caractère est un tableau qui contient deux entrées, un 'w' puis un '\0' (qui indique la fin de la chaîne).
m
0
l
13 Avril 2010 19:57:35

Merci pour les liens.. j'apprends le C sur siteduzero et pour les autres je suis pas trop fort en anglais.. Mais tu as répondu a mes questions :) 

Autre questions :

1/ Pourquoi il est dit que le pointeur "fichier" devient alors un pointeur sur "test.txt" car le pointeur "fichier" pointe sur la structure FILE ?


2/ On envoie "test.txt" a la fonction et cette fonction envoie "test.txt" a la structure FILE... d'abord c'est c'est ça? si oui comme la fonction fait elle?
m
0
l
14 Avril 2010 03:16:57

zollen777 a dit :
Merci pour les liens.. j'apprends le C sur siteduzero et pour les autres je suis pas trop fort en anglais.. Mais tu as répondu a mes questions :) 

Autre questions :

1/ Pourquoi il est dit que le pointeur "fichier" devient alors un pointeur sur "test.txt" car le pointeur "fichier" pointe sur la structure FILE ?


2/ On envoie "test.txt" a la fonction et cette fonction envoie "test.txt" a la structure FILE... d'abord c'est c'est ça? si oui comme la fonction fait elle?

1) Ca semble être un raccourci du langage; c'est bien un pointeur vers la structure FILE.

2)La fonction se débrouille en interne avec la libc et le système d'exploitation; tu lui passes le chemin de ton fichier sous la forme d'une chaine de caractères, elle se charge de l'ouvrir, de préparer une structure FILE et de te renvoyer un pointeur vers cette structure.
A un niveau d'abstraction plus élevé, on peut considérer que cette structure FILE représente ton fichier, vu que c'est par elle que tu vas véritablement manipuler ce fichier grâce aux fonctions de la libc (fopen, ...)
m
0
l
14 Avril 2010 11:25:34

Merci..
m
0
l
14 Avril 2010 14:51:50

"w" c'est une chaine de caractère paske tu peut mettre w+ si tu veux!
m
0
l
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS