IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

Comment remplacer 1 caractere quelque part dans mon fichier txt ?


Sujet :

C

  1. #1
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 10
    Points : 10
    Points
    10
    Par défaut Comment remplacer 1 caractere quelque part dans mon fichier txt ?
    Bonsoir,

    j'ai un projet à rendre tres prochainement de client et serveur POP3 codé en C sur linux et en meme temps j'apprend vraiment parce que jusque là j'y connaissait pas grand chose.

    Voici mon probleme:
    il me faudrait créer une petite fonction qui, quand je l'appelle me permet de remplacer le dernier terme de la ligne n: 0 ou 1 par 0 ou 1 en fonction de l'endroit de l'appel dans le main.

    mon fichier texte est structuré ainsi:

    pierre toto 0
    thomas tata 1
    wafa caca 0

    je peut envoyer à la fonction le 1er et 2eme terme de chaque ligne ainsi que mon choix pour la fin de ligne , 1 ou 0. Je sais ouvrir un fichier,traiter un peut les chaines de caractere mais là pour isoler la ligne n et lui dire de remplacer un terme par un autre....

    si l'un d'entre vous peut m'expliquer la procédure ou me gratter un bout de code ça serais énorme !!
    merci bcp !!!

  2. #2
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 720
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 720
    Points : 31 037
    Points
    31 037
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par ipfix31 Voir le message
    si l'un d'entre vous peut m'expliquer la procédure...
    1) ouvrir fichier => fopen()
    2) tant que lecture ligne ne renvoie pas "fin de fichier" => while (fgets(...) != NULL)
    3) découper la ligne sur chaque mot (chaque espace) => strtok_r()
    4) analyser chaque mot
    5) si mot convient (strcmp()), alors
    - se positionner dans le fichiers 2 caractères en arrière (puisqu'on est au début de la ligne suivante on revient juste avant le 0/1 qui va bien)
    - écrire 0 ou 1 suivi d'un '\n' => fputs() => on se retrouve de nouveau au début de la ligne suivante
    6) fin de boucle => retour en 2 => la lecture se fera à la ligne suivante
    7) fermer fichier => fclose()

Discussions similaires

  1. Réponses: 0
    Dernier message: 02/09/2014, 12h20
  2. comment récupérer la plus récente date dans mon fichier XML?
    Par brain001 dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 19/04/2009, 12h14
  3. [MySQL] Erreur quelque part dans mon compteur de visites !
    Par MathMan dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 26/06/2007, 04h59
  4. Réponses: 14
    Dernier message: 15/06/2007, 13h59
  5. Comment créer une base de donnée dans un fichier .txt
    Par vantoff dans le forum C++Builder
    Réponses: 9
    Dernier message: 19/07/2006, 19h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo