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] Cross-device link


Sujet :

C

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    331
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 331
    Par défaut [rename] Cross-device link
    J'utilise la fonction rename pour déplacer un fichier.
    Il me retourne l'erreur suivante :
    "Cross-device link "

    Quelqu'un a t-il une idée ? Les répertoires et le fichier à déplacer sont pourtant bien présents...

  2. #2
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Quel système utilisé ? Quel type de fichier ? Un fichier régulier, un lien symbolique, lien physique, un lien vers un device ?

    Il paraît que sur les unixoïdes la fonction peut ne pas être en mesure de faire de déplacement avec cet appel mais je n'ai pas vraiment testé, d'après ce qui est dit dans mon book cela varie d'après les implémentations !

    Si tu tente de faire un déplacement de répertoire avec rename tu peut oublier, le C Standard ne comprend pas la notion de répertoires !
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  3. #3
    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 : 42
    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 Franck.H
    Il paraît que sur les unixoïdes la fonction peut ne pas être en mesure de faire de déplacement avec cet appel mais je n'ai pas vraiment testé, d'après ce qui est dit dans mon book cela varie d'après les implémentations !
    Plus précisemment, tu ne peux pas déplacer le fichier sur un autre système de fichier.
    Apparemment ton erreur correspond au code EXDEV :
    Citation Envoyé par [url=http://man.developpez.com/man2/rename.2.php#L5]man 2 rename[/url]
    EXDEV
    oldpath et newpath ne sont pas sur le même système de fichiers.

  4. #4
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Citation Envoyé par gege2061
    Plus précisemment, tu ne peux pas déplacer le fichier sur un autre système de fichier.
    Oui c'est vrai ca aussi !
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    331
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 331
    Par défaut
    je suis sur un unix

    mais dans ce cas là, comment puis-je m'y prendre ?

    Lorsque je fais le déplacement en ligne de commande, ça marche bien (avec un mv) ...
    Mais dès que je passe par le programme, ça plante ...

  6. #6
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Si rename refuse le déplacement d'un système de fichier vers un autre, tu devra sans doute le faire à l'ancienne donc, lecture du fichier courant et écriture dans un nouveau fichier au nouvel emplacement puis suppression de l'ancien fichier une fois refermé !

    Suffit d'ouvrir un fichier existant en mode binaire et un fichier nouveau également en binaire et tu transvase le tout de l'un vers l'autre !
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

Discussions similaires

  1. [Batch] sed (de cygwin) dans batch windows : erreur Invalid cross-device link
    Par Christophe P. dans le forum Scripts/Batch
    Réponses: 3
    Dernier message: 03/06/2015, 11h11
  2. Réponses: 0
    Dernier message: 23/11/2010, 12h16
  3. L'avenir du BDE et des SQL Links révélé ! <officiel>
    Par Merlin dans le forum Bases de données
    Réponses: 12
    Dernier message: 02/06/2006, 10h18
  4. Réponses: 6
    Dernier message: 04/10/2005, 17h37
  5. Traduire du DSP pour ADSP2181 de Analog Devices en C
    Par Aramis dans le forum Autres architectures
    Réponses: 4
    Dernier message: 14/06/2002, 12h03

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