Bonjour à tous (je commence bien pour mon premier post ^^)!
Mon problème est que je ne comprend pas trop comment fonctionne les fonctions utilisées pour ouvrir (fopen) ou écrire (fgets) dans un fichier.
Par exemple pour moi "fopen" va m'ouvrir mon fichier dans une fenêtre et avec le bon programme comme un grand
(je sais c'est de l'utopie).
J'ai mis les prototypes et les fonctions dans le fichier main par soucis de lisibilité et de compréhension
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41 #include <stdio.h> #include <stdlib.h> #define TAILLE 100 //Prototypes FILE* fopen(const char* MonFichier, const char* LeMode); int main () { FILE* Fichier = NULL; char Texte[TAILLE]; Fichier = fopen("test.txt", "r+"); if (Fichier != NULL) { // On demande le texte printf("Votre message [100 caracteres max]\n\t"); fgets(Texte, TAILLE, Fichier); } else { printf("Le fichier n'existe pas!"); } system("PAUSE"); return 0; } //Fonctions FILE* fopen(const char* MonFichier, const char* LeMode) { FILE* FILE; return (FILE); }
Je précise également que le fichier que je tente d'ouvrir n'est pas vide (il contient une phrase) et qu'il se trouve dans le même dossier que mon fichier '.c'
Je pense que mon problème vient de fgets ==> c'est lui le fautif, je comprends rien de ce qu'il fait
PS : je ne pensais pas qu'en commençant à apprendre le C que je buterais sur une simple ouverture de fichier ^^ (étant un utilisateur lambda qui fait un simple double-clic pour ouvrir son fichier )
PS2 : Je précise que j'essaye de le faire fonctionner sous linux également ==> tout est identique sauf le system("PAUSE") en moins voilà
Partager