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 :

Supprimer des fichiers en utilisant une expression régulière


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 21
    Par défaut Supprimer des fichiers en utilisant une expression régulière
    Bonjour,

    Y a t-il une fonction en c sous windows permettant de supprimer des fichiers en prenant en entrée une expression régulière? (Sous linux c'est un jeu d'enfant)
    Par exemple: remove("d:\test*.*"); pour supprimer test1.txt et test2.log.

    La fonction int remove ( const char * filename ) n’accepte pas les *.

    Merci de votre aide.

  2. #2
    Membre Expert Avatar de plxpy
    Homme Profil pro
    Ingénieur géographe
    Inscrit en
    Janvier 2009
    Messages
    792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur géographe
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2009
    Messages : 792
    Par défaut
    [...] (Sous linux c'est un jeu d'enfant)
    Comment t'y prends-tu ?

  3. #3
    Membre émérite Avatar de orfix
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2007
    Messages : 707
    Par défaut
    Citation Envoyé par moonbossa Voir le message
    Y a t-il une fonction en c sous windows permettant de supprimer des fichiers en prenant en entrée une expression régulière? (Sous linux c'est un jeu d'enfant)
    Par exemple: remove("d:\test*.*"); pour supprimer test1.txt et test2.log.
    remove() est une fonction C standard, son comportement est donc le même peut importe le système d'exploitation. remove() prend en paramètre un nom de fichier et non une expréssion régulière.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 21
    Par défaut
    Sous linux il y a moyen d'appeler une commande system:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    system("rm -f /tmp/test*.*");
    Apparemment sous windows je vais devoir scanner le répertoire avec les fonctions FindFirstFile et FindNextFile puis traiter à la main mon expression régulière.

    Ce que je voulais savoir, c'était s'il y avait une alternative à la fonction remove()?

  5. #5
    Membre Expert Avatar de plxpy
    Homme Profil pro
    Ingénieur géographe
    Inscrit en
    Janvier 2009
    Messages
    792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur géographe
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2009
    Messages : 792
    Par défaut
    Vu le "jeu d'enfant", je l'aurais parié ! Tu ne gères pas les expressions régulières en C mais tu le fais faire par le système (le shell). Tu remplaces "rm" par "del" dans ta commande, et ça fera sensiblement la même chose sous Windows.

    Après, question portabilité ...

    Si tu veux gérer ces "wild cards" sans passer par le système, regarde du coté de glob et fnmatch

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 104
    Par défaut
    @ moonbossa :

    Déjà, pour qu'on puisse correctement te répondre, il faut être bien clair sur la question. Tu veux utiliser des wildcards seulement ou des expressions régulières (même si elles en utilisent aussi) ? Car c'est pas la même chose et je ne vois rien qui ressemble à une expression régulière dans tes exemples...

    Sous linux il y a moyen d'appeler une commande system:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    system("rm -f /tmp/test*.*");
    Comme cela a été dit, cela n'a plus rien à voir avec le C. C'est la commande "rm" du shell qui fait tout le boulot ici ; le C n'a plus rien à voir dans l'histoire. Autant carrément écrire un script, cela fera la même chose...

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 21
    Par défaut
    Effectivement, j'ai confondu expression régulière et wildcard. Ce que je cherche c'est un fonction c qui gère les wildcards. Mais en utilisant la commande system associée à DEL je devrais m'en sortir.

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

Discussions similaires

  1. [Batch] Supprimer des fichiers à partir d'une liste contenu dans un fichier txt
    Par damsmut dans le forum Scripts/Batch
    Réponses: 10
    Dernier message: 15/11/2012, 10h23
  2. Réponses: 3
    Dernier message: 17/04/2011, 11h42
  3. [RegEx] utiliser une expression régulière pour modifier un texte
    Par zerros dans le forum Langage
    Réponses: 2
    Dernier message: 04/11/2010, 23h06
  4. [RegEx] Utiliser une expression régulière dans une requête
    Par Tobleron dans le forum Langage
    Réponses: 2
    Dernier message: 18/02/2007, 19h00
  5. Utilisation des fichiers CSS dans une application Struts
    Par menzlitsh dans le forum Struts 1
    Réponses: 4
    Dernier message: 22/09/2006, 16h29

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