Afficher une partie de texte dans un fichier...precision!!!

Afficher une partie de texte dans un fichier...precision!!! - Programmation

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 ? :D
 
Merci ;)

 

[jfdsdjhfuetppo]--Message édité par Vendeeman--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 27-03-2002 à 10:30:18   

Reply

Marsh Posté le 27-03-2002 à 10:42:18    

Ca sent pas un peu l'&quation du second degré ça ? :)

Reply

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???

Reply

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...

Reply

Marsh Posté le 27-03-2002 à 11:02:15    

Je suis en C, le principe, je le connais :D, le probleme, c'est que ça fait pas longtemps que je fais du C :sweat: alors je connais pas les fonction approprié(fseek, fscanf,fread????????) je sais pas quoi utiliser???  ;)

Reply

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+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

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? ;)

Reply

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]


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed