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

Visual C++ Discussion :

Problème d'écrasement impossible avec CopyFile


Sujet :

Visual C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 98
    Par défaut Problème d'écrasement impossible avec CopyFile
    Salut à tous.
    J'ai une app loader qui copie ou écrase des fichiers sur l'ordi avant de les lancer.
    Elle tourne nickel depuis le DD, depuis une clé usb, mais si je la grave sur un CD, elle m'écrit les fichiers en lecture seul, ce qui fait qu'il ne peuvent plus être écrasé si on relance l'app.
    J'utilise CopyFile() avec une chemi relatif pour la provenance, et un chemin complet pour la destination;
    Cela peut-il provenir de là ou est-ce autre chose?
    Merci à tous.
    Alain

  2. #2
    Membre émérite
    Avatar de Spout
    Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    904
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Février 2007
    Messages : 904
    Par défaut
    A la base, tous les fichiers qui sont sur un CD sont en lecture seule (normal me diras-tu). Donc si tu copies des fichiers du CD vers le PC, il y a des chances qu'ils gardent leur attribut "lecture seule". Auquel cas je te conseille de modifier les droits des fichiers copiés avant de les utiliser.

  3. #3
    Rédacteur
    Avatar de Neitsa
    Homme Profil pro
    Chercheur sécurité informatique
    Inscrit en
    Octobre 2003
    Messages
    1 041
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chercheur sécurité informatique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 041
    Par défaut
    Citation Envoyé par alainpeniche Voir le message
    mais si je la grave sur un CD, elle m'écrit les fichiers en lecture seul, ce qui fait qu'il ne peuvent plus être écrasé si on relance l'app.
    Effectivement, d'après la doc de CopyFile() :

    File attributes for the existing file are copied to the new file. For example, if an existing file has the FILE_ATTRIBUTE_READONLY file attribute, a copy created through a call to CopyFile will also have the FILE_ATTRIBUTE_READONLY file attribute. For more information, see Retrieving and Changing File Attributes.
    Pour changer l'attribut d'un fichier : SetFileAttributes.

    J'utilise CopyFile() avec une chemi relatif pour la provenance, et un chemin complet pour la destination;
    Cela peut-il provenir de là ou est-ce autre chose?
    Dans un premier temps il faut voir ce qui cloche avec la fonction pour opérer en conséquence : voir le couple GetLastError() + FormatMessage().

    Si c'est un problème de chemin, il suffit de les corriger. Si c'est un problème d'écrasement, plusieurs options :

    - Soit les fichiers sont exactement les mêmes et dans ce cas là, la nécessité d'écrasement est caduque.

    - soit les fichiers sont différents (ou alors tu désires vraiment les écraser) et tu peux soit :

    - Changer les attributs.
    - Soit effacer le fichier problématique ( DeleteFile() ) et le remplacer.

    Dans tous les cas, teste les retours de fonctions, et si quelque chose va mal , appelle une fonction perso mettant en jeu GetLastError() et FormatMessage(), puis imprime le message d'erreur à l'écran (ou dans un log). Cela t'évitera des complications inutiles et est une bonne pratique de programmation.

  4. #4
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    salut,
    que les fichiers soient en lecture seule sur le cd ne me choque pas, c'est normal .
    je n'ai pas compris le contexte.
    dans tous les cas l'attribut lecture seule peut être enlevé (si le fichier est sur un disque dur)
    avec CFile::SetStatus (voir CFile::GetStatus)

Discussions similaires

  1. Problème d'écrasement de fichier avec saveFileDialog
    Par Claude_Azoulai dans le forum VB.NET
    Réponses: 3
    Dernier message: 20/07/2011, 10h24
  2. Problème avec copyfile
    Par Lorddolf dans le forum MATLAB
    Réponses: 5
    Dernier message: 04/04/2011, 20h06
  3. Problème avec Copyfile
    Par Yun-Harla dans le forum MATLAB
    Réponses: 8
    Dernier message: 18/05/2009, 15h25
  4. Problème avec CopyFile
    Par cjacquel dans le forum MFC
    Réponses: 1
    Dernier message: 22/02/2007, 11h59
  5. Réponses: 6
    Dernier message: 06/12/2005, 19h16

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