bonjour à tous!
je cherche comment faire pour utiliser un fichier texte...
je m'explique je veux créer par exemple un fichier record.txt, je fait cela en dehors de la programmation, "à la main", puis je veut pouvoir récupéré le texte qu'il y dessus et/ou le modifier...
je voulais essayer de faire une sauvegarde des records d'un jeu.
voila si vous avez des commandes spéciales qui permettent çà...
merci
# ...
Posté par fearan . Évalué à 1.
man fgets
man fprintf
man strtok
man strcmp
man atoi
puis avec les see also ca devrait aller :)
bonnes lectures
Il ne faut pas décorner les boeufs avant d'avoir semé le vent
[^] # Re: ...
Posté par jojolapine . Évalué à 2.
[^] # Re: ...
Posté par tontonflingueur . Évalué à 2.
Gérer du texte avec la bibliothèque de base du C est vraiment pénible.
Si tu as le choix - si tu ne fais ça pour un devoir pour lequel ton prof t'a dit explicitement d'utiliser les fonctions de la bibliothèque standard - je te conseille d'apprendre la glib - c'est une des bibliothèques de base de GNOME. Le C devient soudainement beaucoup plus sympathique.
[^] # Re: ...
Posté par jojolapine . Évalué à 0.
[^] # Re: ...
Posté par jojolapine . Évalué à 0.
#include<stdio.h>
int main(void)
{
int i;
char chaine[20];
for(i=0;i<19;i++)
chaine[i]='a';
chaine[19]='\0';
printf("%s\n",chaine);
fgets(chaine,10, FILE essai.txt);
printf("%s\n",chaine);
return 0;
}
et voici le contenu de mon fichier essai.txt:
ça marche
je précise, que les deux fichiers sont dans le même répertoire.
le problème c'est que quand je compile, j'ai message d'erreur:
chaine.c:10: error: parse error before "FILE"
et si j'enlève le FILE, y me demande de déclarer la variable essai...
je suis perplexe...
voila en espérant que vous ayez une solution...
[^] # Re: ...
Posté par naibed . Évalué à 1.
[^] # Re: ...
Posté par jojolapine . Évalué à -3.
[^] # Re: ...
Posté par fearan . Évalué à 2.
bon voila une petite correction
FILE *fich = fopen("toto.txt","r"); // r pour read w pour write rw pour... man fopen
...
fgets(chaine, 10, fich);
...
fclose(fich);
return 0;
voila
Il ne faut pas décorner les boeufs avant d'avoir semé le vent
[^] # Re: ...
Posté par jojolapine . Évalué à 0.
si j'ai bien compris, si je veu pouvoir ecrire et lire, je met "rw" comme option?
[^] # Re: ...
Posté par tontonflingueur . Évalué à 3.
Mais si tu as un serveur (mettons un serveur web), qui accepte une requête HTTP, ouvre le fichier html à servir avec fopen(), le lit pour l'envoyer sur le réseau et que tu ne fais pas de fclose(), au bout d'un certain nombre de requête, tes fopen vont planter avec un EMFILE (too many open file).
C'est une excellente habitude à prendre en programmation - et surtout en C - que de libérer les ressources dont tu n'as plus besoin.
[^] # Re: ...
Posté par deneb . Évalué à 1.
r+ Ouvre le fichier en lecture et écriture. Le pointeur de flux est placé au début du fichier.
(Extrait du man de fopen.)
[^] # Re: ...
Posté par liberforce (site web personnel) . Évalué à 2.
rubrique "les fichiers de données"
[^] # Re: ...
Posté par alf . Évalué à 2.
# Un éditeur de texte ?
Posté par netsurfeur . Évalué à -2.
[^] # Re: Un éditeur de texte ?
Posté par jojolapine . Évalué à 0.
moi ce que je veu c'est un fichier qui contient par exemple:
12 45 60
et récupérer ça dans une chaine le traité blablabla....
et puis si par exemple le changer en prenant la chaine suivante:
nouveaux_records="13 45 66";
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.