Lecture et ecriture d'un fichier en c.
florence
-
blurk Messages postés 487 Statut Membre -
blurk Messages postés 487 Statut Membre -
bonjour. je voudrais avoir des renseignements sur la lecture d'un fichier . disons que j'ai un fichier du genre:
chose E
13.43 34.43 -68.90
43.56 98.32 32.65
plan A
13.43 34.43 -68.90
43.56 98.32 32.65
ect ect etc
comment je fais pour dire a l,ordi ke la premiére ligne et lé 2 otre ou se situe les chiffres sont ensemble et que dée qu'il rencontre un caractére (plan) cela veut dire que les coordonnées qui suivent correspondent a ce caractére. Le nombre de ligne de coordonnées (13.43 34.43 -68.90) né pas le méme, je peux avoir "chose ; qui a 2 lignes mé plan peu avoir 4 lignes) je sais pas si je suis assez claire mais je veux juste creer un autre fichier et tout ce que je sais c,est que je dois utiliser fscanf. merci de m'aider.
chose E
13.43 34.43 -68.90
43.56 98.32 32.65
plan A
13.43 34.43 -68.90
43.56 98.32 32.65
ect ect etc
comment je fais pour dire a l,ordi ke la premiére ligne et lé 2 otre ou se situe les chiffres sont ensemble et que dée qu'il rencontre un caractére (plan) cela veut dire que les coordonnées qui suivent correspondent a ce caractére. Le nombre de ligne de coordonnées (13.43 34.43 -68.90) né pas le méme, je peux avoir "chose ; qui a 2 lignes mé plan peu avoir 4 lignes) je sais pas si je suis assez claire mais je veux juste creer un autre fichier et tout ce que je sais c,est que je dois utiliser fscanf. merci de m'aider.
A voir également:
- Lecture et ecriture d'un fichier en c.
- Fichier bin - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier rar - Guide
- Fichier .dat - Guide
1 réponse
bonjour
ici le problème ne consiste pas à "dire" à l'ordinateur ce qu'il doit lire
mais d'interpréter après lecture, c'est à dire formater ce qui a été lu.
stdio.h est suffisament riche pour fournir le mode de lecture
le plus approprié (par ligne, par caractère, par nombre d'octet prédéfini, voir même rechercher une balise)
il est certe plus aisé d'illustrer le propos, ce que nous allons faire:
après ouverture d'un fichier (voir fopen),
fread() /fwrite()// lit/ecrit une structure prédéfinie par l'utilisateur
fscanf()/fprintf()//lit/ecrit des variables formatés avec la balise %
fgets() /fputs// lit/ecrit une chaine de caractères
fgetc() /fputc() // lit/ecrit un caractère
pour de plus amples informations, il est vivement conseillé d'éditer stdio.h.
Il est possible de lire 3 lignes de caractères consécutives avec:
(fgets(chaine,fichier) 3X ou fscanf(fichier,"%s",chaine) 3X)
pour ensuite les manipuler
la longueur des lignes pouvant changer, l'usage de fwrite et fread n'est pas très indiqué.
KORDIALMAN
¤
ici le problème ne consiste pas à "dire" à l'ordinateur ce qu'il doit lire
mais d'interpréter après lecture, c'est à dire formater ce qui a été lu.
stdio.h est suffisament riche pour fournir le mode de lecture
le plus approprié (par ligne, par caractère, par nombre d'octet prédéfini, voir même rechercher une balise)
il est certe plus aisé d'illustrer le propos, ce que nous allons faire:
après ouverture d'un fichier (voir fopen),
fread() /fwrite()// lit/ecrit une structure prédéfinie par l'utilisateur
fscanf()/fprintf()//lit/ecrit des variables formatés avec la balise %
fgets() /fputs// lit/ecrit une chaine de caractères
fgetc() /fputc() // lit/ecrit un caractère
pour de plus amples informations, il est vivement conseillé d'éditer stdio.h.
Il est possible de lire 3 lignes de caractères consécutives avec:
(fgets(chaine,fichier) 3X ou fscanf(fichier,"%s",chaine) 3X)
pour ensuite les manipuler
la longueur des lignes pouvant changer, l'usage de fwrite et fread n'est pas très indiqué.
KORDIALMAN
¤