Afficher une partie de texte dans un fichier...precision!!! - Programmation
Marsh Posté le 27-03-2002 à 10:43:22
ben nan
Je suis en tp et g ça a faire.
COmment vous faite pr afficher le contenu entier d'un fichier texte que vous avez creer au prealable???
Marsh Posté le 27-03-2002 à 10:54:04
En quel langage ?
Sinon le principe c'est de lire tel n° de ligne par ton prog.
D'abord tu ouvre le fichier en lecture
Ensuite tu lit telle ligne en fonction de X (variable de la fiche que tu recherche).
Dans ton cas j'ai une sol barbare :
1ere : Tu teste si X = 1
Si X = 1 :
Nom = Ligne 1
Prenom = Ligne 1
Tel = Ligne 1
Sinon
Nom = Ligne (5 + 4(X-2))
Prenom = Ligne (6 + 4(X-2))
Tel = Ligne (7 + 4(X-2))
Maintenant reste à savoir en quel langage tu dois prog...
Marsh Posté le 27-03-2002 à 11:02:15
Je suis en C, le principe, je le connais , le probleme, c'est que ça fait pas longtemps que je fais du C alors je connais pas les fonction approprié(fseek, fscanf,fread????????) je sais pas quoi utiliser???
Marsh Posté le 27-03-2002 à 11:14:25
T'as organise comment ta structure de donnée?
Tes enregistrements ont une taille fixe ou variable?
Il peut y avoir des blancs ou pas dans tes chanps?
A+,
Marsh Posté le 27-03-2002 à 12:53:22
Mon fichier texte se presente comme ça:
"
Duran
matthieu
0245698547
Herault
Bruno
0298563254
Zidane
Zinedine
0359874564
"
Voilà, et la je veux afficher par exemple les coordonnée de Bruno: comment je fais?
Marsh Posté le 28-03-2002 à 19:20:31
Bon, ton cas est assez simple.
Tu t'alloues un buffer:
char buff[BUFFSIZE]; avec BUFFSIZE assez grand pour contenir chacun de tes champs.
Tu boucles en lecture ligne a ligne avec fgets:
fgets(buff, BUFFSIZE, fdesc)
(ou fdesc es ce que tu as en retour de fopen(fichier, "r" );
Comme tu separes tes enregistrements par une ligne vide,
pour compter combien d'enregistrements tu a lus, tu incrementes un compteur chaque fois que tu as (s && !*s).
Et tu fais gaffe au retour de fgets pour t'arreter en fin de fichier.
Avec une organisation un peu mieux faite du fichier (coder la taille de chaque enregistrement avant l'enregistrement lui meme, tu peux optimiser un peu la lecture, en sautant chaque enregistrement inutile au lieu de le lire).
A+,
[jfdsdjhfuetppo]--Message édité par gilou--[/jfdsdjhfuetppo]
Marsh Posté le 27-03-2002 à 10:30:18
Voilà, je viens de creer un fichier pr y entrer des données(agenda: nom, prenom numero de tel de personne). Avec un fscanf (ou fseek, je sais pas!) je cherche à afficher le nom de la , par exemple, la 3eme personne de liste:
EX:
Nico
Bernard
0269854785
Girault
aurelien
0297456985
Lefevre
eurelien
0365897456
Voilà, et je cherche à afficher le 3eme numero de tel: comment on fait????HELP!! Est-ce que une fonction comme lseek, fseek ou fscanf peut marcher pour par exemple afficher une certane ligne de mon texte(je lui demande de m'afficher la ligne 12): et pouvez vous me donner un exemple d'utilisation svp ?
Merci
[jfdsdjhfuetppo]--Message édité par Vendeeman--[/jfdsdjhfuetppo]