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 :

Rename, remove .


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de miron
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    479
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 479
    Par défaut Rename, remove .
    Ca peu paraitre bette, mais es ce que rename et remove s'applique que a certains fichier?

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

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    Ben faut que tu ais les droits sur les fichiers bien evidemment.

  3. #3
    Membre éclairé Avatar de miron
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    479
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 479
    Par défaut
    Citation Envoyé par Skyrunner
    Ben faut que tu ais les droits sur les fichiers bien evidemment.
    Les droit?
    Je pensse que je les ait tous, c'est moi qui les crée...!!!
    Enfin peu etre que je me trompe...

  4. #4
    Membre éclairé Avatar de miron
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    479
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 479
    Par défaut
    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
    19
     
      char  nom_fichier_pb_v[256]=" ",        nom_fichier_exe_v[256]=" ";
      char *nom_fichier_pb=nom_fichier_pb_v,  *nom_fichier_exe=nom_fichier_exe_v;
     
      strcat(nom_fichier_pb,"\"");              strcat(nom_fichier_exe,"\"");
      strcat(nom_fichier_pb,NOM_FICHIER[i]);    strcat(nom_fichier_exe,NOM_FICHIER[i]);
                                                strcat(nom_fichier_exe,".exe");
      strcat(nom_fichier_pb,"\"");              strcat(nom_fichier_exe,"\"");
     
      printf("%s %s ",nom_fichier_pb,nom_fichier_exe);
      rename(nom_fichier_pb,nom_fichier_exe);
     
      nom_fichier_pb=nom_fichier_exe;
     
      strcat(nom_fichier_exe," 22");
     
      system(nom_fichier_exe);
     
      remove(nom_fichier_pb);
    Ce code ne fonctionne pas.
    Dites moi svp pourquoi il ne fonctionne pas.

  5. #5
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Par défaut
    Citation Envoyé par miron
    Ce code ne fonctionne pas.
    Dites moi svp pourquoi il ne fonctionne pas.
    On ai sensé deviner ce qui ne fonctionne pas ?
    Avoir un peu plus d'information sur ton problème pourrai nous aider : comportement attendu, comportement obtenu et suretou le résultat du printf (je n'est pas envi de comprendre du code sur deux colonnes, ce n'est pas un journal que tu es en train d'écrire).

  6. #6
    Membre éclairé Avatar de miron
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    479
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 479
    Par défaut
    Citation Envoyé par gege2061
    On ai sensé deviner ce qui ne fonctionne pas ?
    Avoir un peu plus d'information sur ton problème pourrai nous aider : comportement attendu, comportement obtenu et suretou le résultat du printf (je n'est pas envi de comprendre du code sur deux colonnes, ce n'est pas un journal que tu es en train d'écrire).
    Code sur 2 colonnes? C'est pour une plus grande comprenhention, on voit les 2 nom_fichier se modifier en mm temps.
    Pour ce qui est du comportement, c'est simple si je puis dire, c'est que mon remove ne fonctionne pas...!!!
    Donc mon system non plus...

  7. #7
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par miron
    Ce code ne fonctionne pas.
    Dites moi svp pourquoi il ne fonctionne pas.
    Rengaine habituelle "Ce code est incomplet. Il n'est pas testable"... Je fatigue...

    Faisons des hypothèses :
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
     
    #include <stdio.h>
    #include <string.h>
    #include <stdlib.h>
     
    int main (void)
    {
       char NOM_FICHIER[][10] = {"xxx.=exe"};
       int i = 0;
     
       char nom_fichier_pb_v[256] = " ";
       char nom_fichier_exe_v[256] = " ";
       char *nom_fichier_pb = nom_fichier_pb_v, *nom_fichier_exe = nom_fichier_exe_v;
     
       strcat(nom_fichier_pb, "\"");
       strcat(nom_fichier_exe, "\"");
       strcat(nom_fichier_pb, NOM_FICHIER[i]);
       strcat(nom_fichier_exe, NOM_FICHIER[i]);
       strcat(nom_fichier_exe, ".exe");
       strcat(nom_fichier_pb, "\"");
       strcat(nom_fichier_exe, "\"");
     
       /* -ed- pour bien voir le noms de fichier,
       je recommande l'usage des ' ' autour des chaines...
       */
       printf("'%s' '%s' ", nom_fichier_pb, nom_fichier_exe);
     
       {
          int err;
     
          err = rename(nom_fichier_pb, nom_fichier_exe);
          if (err)
          {
             perror("rename");
          }
          nom_fichier_pb = nom_fichier_exe;
          strcat(nom_fichier_exe, " 22");
          system(nom_fichier_exe);
          err = remove (nom_fichier_pb);
          if (err)
          {
             perror("remove");
          }
       }
     
       return 0;
    }
    Ca donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    ' "xxx.=exe"' ' "xxx.=exe.exe"' rename: Invalid argument
    'xxx.' n'est pas reconnu en tant que commande interne
    ou externe, un programme exécutable ou un fichier de commandes.
    remove: Invalid argument
     
    Press ENTER to continue.
    Il y a un espace au debut des noms de fichiers... C'est normal ?

  8. #8
    Membre éclairé Avatar de miron
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    479
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 479
    Par défaut
    Citation Envoyé par Emmanuel Delahaye
    Rengaine habituelle "Ce code est incomplet. Il n'est pas testable"... Je fatigue...
    DSL POUR LE CODE , JE VAIS M'AMELIORER (comme pour l'ecriture)
    Faisons des hypothèses :
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    #include <stdio.h>
    #include <string.h>
    #include <stdlib.h>
    
    int main (void)
    {
       char NOM_FICHIER[][10] = {"xxx.=exe"};//pourquoi?
       int i = 0;
    
       char nom_fichier_pb_v[256] = " ";
       char nom_fichier_exe_v[256] = " ";
       char *nom_fichier_pb = nom_fichier_pb_v, *nom_fichier_exe = nom_fichier_exe_v;
    
       strcat(nom_fichier_pb, "\"");
       strcat(nom_fichier_exe, "\"");
       strcat(nom_fichier_pb, NOM_FICHIER[i]);
       strcat(nom_fichier_exe, NOM_FICHIER[i]);
       strcat(nom_fichier_exe, ".exe");
       strcat(nom_fichier_pb, "\"");
       strcat(nom_fichier_exe, "\"");
    
       /* -ed- pour bien voir le noms de fichier,
       je recommande l'usage des ' ' autour des chaines...
       */
       printf("'%s' '%s' ", nom_fichier_pb, nom_fichier_exe);
    
       {
          int err;
    
          err = rename(nom_fichier_pb, nom_fichier_exe);
          if (err)
          {
             perror("rename");//jamais vu!!!
          }
          nom_fichier_pb = nom_fichier_exe;
          strcat(nom_fichier_exe, " 22");
          system(nom_fichier_exe);
          err = remove (nom_fichier_pb);
          if (err)
          {
             perror("remove");
          }
       }
    
       return 0;
    }
    Ca donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    ' "xxx.=exe"' ' "xxx.=exe.exe"' rename: Invalid argument
    'xxx.' n'est pas reconnu en tant que commande interne
    ou externe, un programme exécutable ou un fichier de commandes.
    remove: Invalid argument
     
    Press ENTER to continue.
    C'est exactemnet ce que j'ai... enfin pas tt a fait, moi j'ai pas rename mais tout le reste si...
    Il y a un espace au debut des noms de fichiers... C'est normal ?
    NON

  9. #9
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par miron
    Les droit?
    Je pensse que je les ait tous, c'est moi qui les crée...!!!
    Enfin peu etre que je me trompe...
    Ca dépend du système, mais en principe, il n'est pas possible de supprimmer le fichier en cours d'exécution.

  10. #10
    Membre éclairé Avatar de miron
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    479
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 479
    Par défaut
    Citation Envoyé par Emmanuel Delahaye
    Ca dépend du système, mais en principe, il n'est pas possible de supprimmer le fichier en cours d'exécution.
    Cela c'est sur je pensse, c'est comme si on essaier d'enlever le pavé qui est sous nos pieds!!!
    Mais pourtant j'efface pas le fichier en cour d'execution!!!

Discussions similaires

  1. fonctions remove et rename ne fonctionnent pas ?
    Par FamiDoo dans le forum MFC
    Réponses: 29
    Dernier message: 30/06/2006, 17h02
  2. Problème avec Rename : Permission denied
    Par panaone dans le forum Langage
    Réponses: 12
    Dernier message: 21/08/2005, 17h56
  3. problème de remove
    Par c_Linoa dans le forum C++
    Réponses: 13
    Dernier message: 28/04/2005, 11h21
  4. [debutant] remove() pourri?
    Par JulienDuSud dans le forum Windows
    Réponses: 4
    Dernier message: 05/12/2004, 17h31
  5. [SQL SERVER 2000] Procédure RENAME?
    Par Tankian dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 13/08/2004, 15h39

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