C: supprimer un caractère dans un fichier
Fermé
Koma777
Messages postés
261
Date d'inscription
mercredi 17 janvier 2007
Statut
Membre
Dernière intervention
16 février 2018
-
11 nov. 2008 à 14:36
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 11 nov. 2008 à 18:20
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 11 nov. 2008 à 18:20
6 réponses
pyschopathe
Messages postés
1973
Date d'inscription
dimanche 2 mars 2008
Statut
Membre
Dernière intervention
22 mars 2010
135
11 nov. 2008 à 14:37
11 nov. 2008 à 14:37
A part en chargeant le fichier dans un tampon, en modifiant ça en mémoire et en réenregistrant, je ne sais pas...
Koma777
Messages postés
261
Date d'inscription
mercredi 17 janvier 2007
Statut
Membre
Dernière intervention
16 février 2018
7
11 nov. 2008 à 14:47
11 nov. 2008 à 14:47
je ne sais pas...
Par ce qu'il faut également demander à l'utilisateur quel contact il voudrais supprimer...
Donc ouvrir le fichier.
Demander quel contact supprimer.
Ce placer dnas le fichier au niveau du contact.
Ensuite supprimer la ligne où il ce trouve.
Mais ça je ne vois vraiment pas comment faire....
Par ce qu'il faut également demander à l'utilisateur quel contact il voudrais supprimer...
Donc ouvrir le fichier.
Demander quel contact supprimer.
Ce placer dnas le fichier au niveau du contact.
Ensuite supprimer la ligne où il ce trouve.
Mais ça je ne vois vraiment pas comment faire....
pyschopathe
Messages postés
1973
Date d'inscription
dimanche 2 mars 2008
Statut
Membre
Dernière intervention
22 mars 2010
135
11 nov. 2008 à 14:56
11 nov. 2008 à 14:56
De quelle forme est ton fichier ? Tu peux peut-être utiliser du XML et des outils spécialisés qui t'épargneraient le sale boulot...
Koma777
Messages postés
261
Date d'inscription
mercredi 17 janvier 2007
Statut
Membre
Dernière intervention
16 février 2018
7
11 nov. 2008 à 15:06
11 nov. 2008 à 15:06
C'est un fichier txt.
Et je ne peux que utiliser ça...
Par exemple voici la base.txt avec nom prénom n°de téléphone et age:
toto titi 0123456789 22
tata toutou 0234456789 26
L'utilisateur demande à supprimer tata et tout le reste (nom tel et age).
Comment faire pour ce positionner dans le fichier en prenant en compte le nom du contact donné par l'utilisateur?
Et je ne peux que utiliser ça...
Par exemple voici la base.txt avec nom prénom n°de téléphone et age:
toto titi 0123456789 22
tata toutou 0234456789 26
L'utilisateur demande à supprimer tata et tout le reste (nom tel et age).
Comment faire pour ce positionner dans le fichier en prenant en compte le nom du contact donné par l'utilisateur?
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 836
11 nov. 2008 à 15:16
11 nov. 2008 à 15:16
Salut,
Effectivement, tu n'as pas le choix que de tout charger, et de supprimer la ligne désirée étant donné que tu ne connais pas le numéro de la ligne qui permettrait de positionner le flux.
Cdlt
Effectivement, tu n'as pas le choix que de tout charger, et de supprimer la ligne désirée étant donné que tu ne connais pas le numéro de la ligne qui permettrait de positionner le flux.
Cdlt
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Koma777
Messages postés
261
Date d'inscription
mercredi 17 janvier 2007
Statut
Membre
Dernière intervention
16 février 2018
7
11 nov. 2008 à 15:37
11 nov. 2008 à 15:37
ok, mais comment faire alors pour supprimer la ligne voulu?
pyschopathe
Messages postés
1973
Date d'inscription
dimanche 2 mars 2008
Statut
Membre
Dernière intervention
22 mars 2010
135
11 nov. 2008 à 17:04
11 nov. 2008 à 17:04
Tu charges le fichier en mémoire, tu le lis ligne par ligne, quand tu trouves la ligne que tu veux effacer, tu la supprimes, tu enregistres le fichier sur le disque...
pyschopathe
Messages postés
1973
Date d'inscription
dimanche 2 mars 2008
Statut
Membre
Dernière intervention
22 mars 2010
135
11 nov. 2008 à 17:06
11 nov. 2008 à 17:06
Mais si tu as vraiment beaucoup de contacts, faire une base de données ou au moins utiliser un format XML permettrait d'être plus efficace à mon avis...
Koma777
Messages postés
261
Date d'inscription
mercredi 17 janvier 2007
Statut
Membre
Dernière intervention
16 février 2018
7
11 nov. 2008 à 18:12
11 nov. 2008 à 18:12
oui mais c'est un "mini-projet" qu'un de mes prof m'a donné à faire en C.
Merci pour tes réponses en tout cas.
Je verrais avec ce que tu m'as dit alors!
Bien que je ne vois pas quel fonction permet de:
"charger le fichier en mémoire, tu le lis ligne par ligne, quand tu trouves la ligne que tu veux effacer, tu la supprimes, tu enregistres le fichier sur le disque..."
Merci pour tes réponses en tout cas.
Je verrais avec ce que tu m'as dit alors!
Bien que je ne vois pas quel fonction permet de:
"charger le fichier en mémoire, tu le lis ligne par ligne, quand tu trouves la ligne que tu veux effacer, tu la supprimes, tu enregistres le fichier sur le disque..."
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 836
11 nov. 2008 à 18:20
11 nov. 2008 à 18:20
Bah, à toi de la faire lol.
Charger le fichier en mémoire, tu t'en sortiras facilement avec du fgets et un tableau dans une boucle while.
Après, tu recopies dans le fichier avec fprintf dans une boucle while, si la ligne ne contient pas le nom (et ça avec strtok, tu t'en sors facilement).
Cdlt
Charger le fichier en mémoire, tu t'en sortiras facilement avec du fgets et un tableau dans une boucle while.
Après, tu recopies dans le fichier avec fprintf dans une boucle while, si la ligne ne contient pas le nom (et ça avec strtok, tu t'en sors facilement).
Cdlt