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 :

Renommer un fichier dans une boucle


Sujet :

C

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5
    Points : 4
    Points
    4
    Par défaut Renommer un fichier dans une boucle
    Dans le cadre d'un projet, nous écrivons un algoritme en C.
    Seulement, nous bloquons sur un point : dans une boucle for, nous voulons modifer le nom d'un fichier.
    Dans un fichier, nous avons une grande quantité d'images numérotées ainsi : image_i.
    Comment faire pour renommer un fichier "image_i+1.jpg" en "image_i.jpg" tout en supprimant l'ancien fichier "image_i" ?

    Merci d'avance.

  2. #2
    Débutant Avatar de miron
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    479
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 479
    Points : 291
    Points
    291
    Par défaut
    Le fichier ou les images sont numérotés il sert a quoi?
    Si tu connait deja le nom...
    Prenez le temps d'aller vite...

    Programme sous Windows, en C avec Code::Blocks, en Java JRE 1.6. avec Eclipse, en PHP/HTML/CSS avec Dreamweaver CS5 ou NotePad++ et en VBA sous avec Access 2010, Excel 2010, Word 2010 et Outlook 2010.

  3. #3
    Membre éclairé Avatar de crocodilex
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    697
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 697
    Points : 858
    Points
    858
    Par défaut
    Citation Envoyé par Thomas Carrere
    Dans le cadre d'un projet, nous écrivons un algoritme en C.
    Seulement, nous bloquons sur un point : dans une boucle for, nous voulons modifer le nom d'un fichier.
    Dans un fichier, nous avons une grande quantité d'images numérotées ainsi : image_i.
    Comment faire pour renommer un fichier "image_i+1.jpg" en "image_i.jpg" tout en supprimant l'ancien fichier "image_i" ?

    Merci d'avance.
    J'avoue que je n'ai pas bien compris ce que tu veux faire.
    Pour renommer un fichier il y a la fonction rename().
    Si tu veux créer des noms de fichier de manière dynamique, tu peux utiliser la fonction sprintf().
    Software Failure. Press left mouse button to continue.
    Guru Meditation #0100000C.000FE800

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    c'est pour un traitement identique d'imagerie sur chaque image à l'aide de MIL. MIL ne nous permet pas de simplement charger les images les une apres les autres. Donc on a besoin de charger tout le temps le meme nom de fichier (le premier : image_1.jpeg). Pour cela on voudrait transformer les fichiers suivants (image_2.jpeg, ...., image_i.jpeg) à chaque passage dans la boucle en fichier image_1.jpeg.

    On a essayé de faire :

    int remove (char * image_1.jpeg);
    int rename (char * image_i.jpeg, char * image image_1.jpeg)

    en essayant de plusieurs façons de faire 'comprendre' le numéro i dans la fonction rename : avec des %d, des passages par des chaines intermédiaire de characteres, etc... mais sans succès.

  5. #5
    Membre éclairé Avatar de crocodilex
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    697
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 697
    Points : 858
    Points
    858
    Par défaut
    Bon, ben essayes ceci alors :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    ....
    int i;
    char nomFichier[20];
     
    for (i=0; i<NB_FICHIER; i++) {
         sprintf (nomFichier, "image_%d.jpeg", i);
         .....  
         rename(nomFichier, "image_1.jpeg");
    }
    Evidemment, la fonction rename() peut échouer. Donc vérifie le retour (j'avais la flegme de le faire...)
    Software Failure. Press left mouse button to continue.
    Guru Meditation #0100000C.000FE800

  6. #6
    Expert éminent sénior
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Points : 13 380
    Points
    13 380
    Par défaut
    Construit tes chaines de caracteres avec sprintf

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    char buffer[255];
    int i;
    for(i = 0; i < 10; i++) {
        sprintf(buffer, "image%d.jpeg", i);
        rename(buffer, "image1.jpeg");
    }

    [edit]arf grilled[/edit]
    Introduction à Silverlight 4 (new) ; Localisation d'une application Silverlight (new) ;
    Mon espace perso[/B]

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. Albert Einstein[/SIZE]

Discussions similaires

  1. Réponses: 1
    Dernier message: 09/12/2008, 12h23
  2. [BATCH] DOS, déplacement de fichier dans une boucle FOR
    Par nicoga dans le forum Scripts/Batch
    Réponses: 7
    Dernier message: 14/11/2008, 14h36
  3. ouverture fichier dans une boucle
    Par ericdev67 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 07/04/2008, 18h52
  4. Enregistrer des fichiers dans une boucle
    Par sebastien06 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 05/04/2008, 13h17
  5. [Fortran 77] Renommer un fichier dans une boucle
    Par mehdi_oca dans le forum Fortran
    Réponses: 3
    Dernier message: 04/01/2008, 14h38

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