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 :

Traitement sur les fichiers.txt en C++


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 9
    Par défaut Traitement sur les fichiers.txt en C++
    Bonjour ,
    Je souhaite avoir votre opinion sur une méthode pratique afin d'extraire les dates respectives des fichiers.txt se trouvant dans un répertoire et stocker les dates dans un vector <string> sans qu'il y ait répétition.
    Exemple des noms de fichiers:
    MSD.NONE.2016-01-02.1994.txt
    MSD.NONE.2016-01-02.1993.txt
    MSD.NONE.2016-01-02.1996.txt
    MSD.NONE.2016-01-05.1994.txt
    MSD.NONE.2016-01-04.1994.txt
    MSD.NONE.2017-01-02.1994.txt
    MSD.NONE.2017-01-25.1994.txt
    MSD.NONE.2017-01-25.1994.txt
    MSD.NONE.2017-01-05.1994.txt

    Pour cet exemple le vector doit contenir comme string les dates :
    2016-01-02 ; 2016-01-05 ; 2016-01-04 ; 2017-01-02 ; 2017-01-25 ; 2017-01-05

    Comme vous avez pu le constater il n y a pas de répétition.
    Y-a t-il une méthode pour faire simple concernant l’extraction des chaînes
    Merci pour votre aide , toute idée serait la bienvenue

  2. #2
    Expert éminent

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par défaut
    Procède par ordre.

    Comment ferais-tu pour extraire toutes les dates?

    Une fois que tu sais le faire, il y a deux choix:
    ne pas introduire de doublon pendant l'extraction, ou supprimer les doublons après l'extraction complète.

    Les deux peuvent avoir leurs intérêts, mais je préfère la première, quand j'ai le choix.

    Ta première question est bien d'obtenir la liste des fichiers du répertoire.
    Pour cela, la meilleure solution est probablement de passer par Boost.Filesystem.

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 9
    Par défaut
    Merci pour ton intervention.
    Tout d'abord je vais catch tous les noms du répertoire via une méthode utilisant la bilbio Boost comme vous avez dit avant de les mettre dans le vector<string> on mettra une condition permettant de vérifier si il y a un doublon , ensuite pour extraire uniquement la date a vrai dire je n'ai aucune idée pour l'instant peut-être penser à décomposer la chaîne ??

  4. #4
    Membre chevronné
    Homme Profil pro
    Cadre informatique
    Inscrit en
    Avril 2013
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Cadre informatique

    Informations forums :
    Inscription : Avril 2013
    Messages : 183
    Par défaut
    Vu que tous les noms que tu nous as donné sont syntaxiquement identiques, tu peux simplement les récupérer via un substr() du nom total

  5. #5
    Expert éminent

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par défaut
    Ta solution est assez bonne.

    A toi de voir ce qui change ou non dans le nom de fichier, et ce qui doit être pris en compte pour le doublonnage.

    Si seule la date change, et le chiffre suivant change, et seule la date t'intéresse, un substring bien visé suffit.

    Si tu es sous linux, une commande telle que ls | cut -d. -f3 | sort -u affiche la liste demandée, et en rajoutant > liste_date.csv au bout, cette liste est écrite dans un fichier.
    Tu n'as plus qu'a lire ligne à ligne ce fichier pour avoir ta réponse.

    Pour Windows, la même chose doit pouvoir être faite en batch ou PowerShell, mais je ne connais pas assez ces langages.

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 9
    Par défaut
    Merci à tous pour votre contribution et à @ternel pour ses explications détaillées.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2010] Reproduire un même traitement sur les autres fichiers texte d'un dossier
    Par capi81 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 13/07/2015, 19h09
  2. Recherche tutorial php sur les fichiers .txt
    Par carmen256 dans le forum Langage
    Réponses: 1
    Dernier message: 22/09/2009, 18h48
  3. Traitement sur les fichiers
    Par abbd dans le forum Windows Forms
    Réponses: 1
    Dernier message: 11/02/2009, 18h22
  4. Traitement sur les fichiers Excel
    Par ProgD dans le forum API, COM et SDKs
    Réponses: 2
    Dernier message: 18/09/2007, 17h19

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