Fichier en langage c

Fermé
kelfons Messages postés 11 Date d'inscription mercredi 6 février 2008 Statut Membre Dernière intervention 4 juillet 2009 - 6 févr. 2008 à 18:26
MRextra Messages postés 153 Date d'inscription mercredi 26 décembre 2007 Statut Membre Dernière intervention 23 février 2009 - 18 mars 2008 à 11:08
Bonjour,
je voudrais savoir la necessité d'utiliser les fichiers en langage C. j'ai lu quelque part que le défaut avec les variables ordinaires ,c'est qu'elles sont rangées dans la RAM et disparaissent dès que le programme se termine ou dès qu'il ya une coupure de courant
mais je me dis qu'il est tjrs possible de revenir sur son programme pour le compiler et le faire matcher,non??
Aussi on peut mettre n'importe quelle extension avec le fichier crée(par exple avec la fonction fopen), pourrait -on compiler un programme sous C qui n'a pas l'extension .c???
merci de m'eclairer sur ces points qui me paraissent flous
A voir également:

5 réponses

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 836
6 févr. 2008 à 20:59
Salut,

Les variables lues dans ton programme C sont stockées dans la RAM. Toutes les variables après reboot, seront perdues. Comment faire donc pour sauvegarder des valeurs entrées par l'utilisateur ou charger des données définies par l'utilisateur s'il n'y a plus rien en RAM ? Solution : stocker les valeurs. Et ou stocker les valeurs ? Dans un fichier.
Ainsi l'idée, comme tu l'as compris, est de sauvegarder les données utilisateurs, si elles peuvent resservir plus tard, sinon aucun intérêt.
L'extension du fichier est peu importe. .txt par exemple. Et tu stockes les données dans le fichier texte comme bon il te semble.

Pour répondre à ta dernière question. Il ne faudra pas compiler le fichier texte, et pas besoin non plus de donner l'extension .C au fichier qui contiendra les sauvegardes de l'utilisateur, un simple fichier texte.

En espérant avoir été clair.

Cordialement
0
kelfons Messages postés 11 Date d'inscription mercredi 6 février 2008 Statut Membre Dernière intervention 4 juillet 2009
6 févr. 2008 à 23:31
bonjour,
merci d'avoir porté un interêt à ma question.
je t'avoue que c'est un peu flou encore
qu'est ce que tu attends par "toutes les variables après reboot seront perdues??
si par exmple je te donne le code en C
//
// non du fichier fonction.c
fonction qui retourne le double d'une valeur passée en paramètre
int double(int a){
int c = 2*a;
return c;}
int main(){
int d = 2 ;int val ,
val = double(d);
printf("le double est :%d\n, val)
}//ici fin du programme
quand on dit que les variables utilisées(en l'occurrence ici d) sont perdues dès que le programme se terimine est ce que cela signifie que qu'après l'accolade fermante de la fonction on ne peut plus recuper cette valeur.???
le terme " dès que le programme se termine" signifie quoi concretement?? est ce que ça voudrait dire que" dès qu'on arrive à l'accolade fermante de la fonction"??? je me dis aussi que vu que le programme est dans un fichier.c , chaque fois que l'on a besoin de faire tourner le pogramme on a qu'a le ompiler et l'executer,non?
si on crée un fichier(avec fopen, de non mon_fichier par exmple) qui contient une fonction doublanrt son paramètre,la differnce se situerait ou???
stp pars d'un exemple pour m'expliquer la difference entre ces deux notions(ma_fonction.c, mon_fichier
merci
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 836
6 févr. 2008 à 23:43
Je vais reprendre mon post précédent à travers un exemple, tu vas tout de suite comprendre.

imagine tu codes un jeu. Dans le jeu, l'utilisateur bat le record. Tu vas donc lui demander son nom pour mémoriser dans ton programme le nouveau record. Tu vas récupérer son nom avec un scanf tout simple. La variable sera stockée en mémoire. Lorsqu'il aura quitté le programme, la variable contenant le nom de l'utilisateur n'existera plus. Comment donc récupérer la variable contenant le nom de l'utilisateur avec son record ?
Une fois le nom de l'utilisateur récupéré, tu le mets dans un fichier avec son score à côté. Ainsi lors d'un futur démarrage du jeu, ton programme ira lire dans le fichier, et connaîtra le nom de l'utilisateur qui possède le record et avec son score.

J'espère que c'était plus clair.
0
kelfons Messages postés 11 Date d'inscription mercredi 6 février 2008 Statut Membre Dernière intervention 4 juillet 2009
7 févr. 2008 à 00:05
je te remercie infiniment , là c'est bien clair
bonne fin de soirée
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
MRextra Messages postés 153 Date d'inscription mercredi 26 décembre 2007 Statut Membre Dernière intervention 23 février 2009 35
18 mars 2008 à 11:08
Quand on lance l'execution d'un programme un espace memoire sera alloué au processus
(processus=programme chargé en memoire +donnée)
et a la fin de l'xecution du programme le l'espace alloué à un autre processus tout simplement
mais le code ton ton programme restera le meme
0