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 :

Chaîne de caractères


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2010
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 19
    Par défaut Chaîne de caractères
    Bonjour à tous et à toutes!!!


    Voilà, je vous explique le problème:

    Je souhaiterais que mon interface, dès qu'elle voit le mot "TIRE" dans le fichier A, supprime les 10 lignes suivantes dans le fichier B

    Voici le fichier A.txt :

    PPRINT / NC SEQUENCE NAME : TIRE-BARRE
    PPRINT / NC SEQUENCE COMMENTS
    PPRINT / SEQUENCE DE TIRE-BARRE
    PPRINT / FEATURE ID : 581
    PPRINT / SEQUENCE TYPE : PROFILE TURNING
    PPRINT / CUTCOM REGISTER : N/A
    PPRINT / SPINDLE SPEED : 1500.000000 RPM [CW]
    PPRINT / CUT FEEDRATE & UNITS : 900.000000 MMPM
    PPRINT / ARC FEEDRATE & UNITS : N/A
    PPRINT / FREE FEEDRATE & UNITS : N/A
    PPRINT / RETRACT FEEDRATE & UNITS : N/A
    PPRINT / PLUNGE FEEDRATE & UNITS : N/A
    $$-> END /


    et voici donc ce que je souhaiterais obtenir dans le fichier B.txt

    PPRINT / NC SEQUENCE NAME : TIRE-BARRE
    PPRINT / PLUNGE FEEDRATE & UNITS : N/A
    $$-> END /



    Je travail avec code::blocks et son langage C.

    Vous trouverez en pièce jointe mon code source (408 vers 518.c) et au cas où, vous trouverez également le fichier A à traiter (Fichier A.txt) et ce que je souhaiterais obtenir dans mon fichier B (Fichier B.txt).

    Je souhaiterais que ma ligne de code à ajouter soit ajouter en ligne 263 dans le code source.

    Il serait vraiment génial que vous me renvoyer le code source.

    Merci d'avance
    Fichiers attachés Fichiers attachés

  2. #2
    Invité(e)
    Invité(e)
    Par défaut
    Bonjour,

    fgets, strstr et fputs devraient suffire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    char buff[1024];
    FILE *FICH_A, *FICH_B;
    int skip = 0;
     
    /* Tand qu'on lit depuis A */
    while(NULL != fgets(buff, sizeof buf, FICH_A)) {
        /* si la ligne contient "TIRE", on stocke dans skip le nombre de ligne à sauter */
        if(NULL != strstr(buff, "TIRE")) {
            skip = 10;
        } 
        if(skip > 0) {
            /* un ligne de sautée, on diminue skip */
            --skip;
        } else {
            /* pas de ligne à sauter, on écrit la ligne */
            fputs(buff, FICH_B);
        }  
    }

  3. #3
    Membre averti
    Inscrit en
    Février 2010
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 19
    Par défaut
    Merci mabu, c'est super sympa de ta part!

    Mais par contre, je n'arrive pas à ajouter cette ligne de code dans le fichier .c que je t'ai joint sans que ca bug lors de la compilation.

    Pourrais-tu faire ce petit geste pour moi??

    Merci d'avance

  4. #4
    Invité(e)
    Invité(e)
    Par défaut
    Citation Envoyé par sulli7086 Voir le message
    Mais par contre, je n'arrive pas à ajouter cette ligne de code dans le fichier .c que je t'ai joint sans que ca bug lors de la compilation.
    Poste ton code, montre nous les messages d'erreur
    Citation Envoyé par sulli7086 Voir le message
    Pourrais-tu faire ce petit geste pour moi??
    Ce n'est pas vraiment le principe du forum.

  5. #5
    Membre averti
    Inscrit en
    Février 2010
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 19
    Par défaut
    Dis Mabu, comment puis-je faire pour poster mon code comme tu l'as fait?

    Ps: Je suis tout nouveau sur ce forum.

  6. #6
    Invité(e)
    Invité(e)
    Par défaut
    Citation Envoyé par sulli7086 Voir le message
    Dis Mabu, comment puis-je faire pour poster mon code comme tu l'as fait?
    Bouton # (balise code) : http://club.developpez.com/regles/#L3.5 et http://dolphy35.developpez.com/images/Balises.gif

    Citation Envoyé par sulli7086 Voir le message
    Ps: Je suis tout nouveau sur ce forum.
    T'inquiète, on est tous passés par là.

Discussions similaires

  1. Réponses: 8
    Dernier message: 12/02/2013, 01h08
  2. Réponses: 2
    Dernier message: 18/10/2003, 14h42
  3. Chaînes de caractères
    Par Zazeglu dans le forum C
    Réponses: 3
    Dernier message: 28/08/2003, 16h20
  4. Inverser une chaîne de caractères
    Par DBBB dans le forum Assembleur
    Réponses: 2
    Dernier message: 30/03/2003, 11h09
  5. Réponses: 3
    Dernier message: 09/05/2002, 01h39

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