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++Builder Discussion :

Fichier et suprression d'élément


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 70
    Par défaut Fichier et suprression d'élément
    Salut à tous et tout dabord, je vous souhaite de bonnes fêtes.
    J'ai un petit problème :
    Dans un fichier, j'ai stocker 4 caractères avec le terminateur de chaîne(en fin de fichier).
    Mon programme doit ouvrir le fichier, lire les 4 carctère et le terminateur de chaîne (Jusque la c'est bon j'y arrive).Mais après, il faut que j'efface ces caractères du fichier.
    Comment faire sachant que je ne peut pas rentrer tous le fichier en mémoire et que ce n'est pas un fichier textes.
    Donc pour récapituler, je voudrais effacer les 5 derniers octets de mon fichier.
    Je suis tout ouïe.

    Merci d'avance.

    Rabbi Jaccob

  2. #2
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Par défaut
    Salut et bonnes fêtes à toi aussi
    Tu as une possibilité avec les API Windows (si tu es sous Windows évidemment) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    // on se positionne 5 caractères avant la fin de fichier
    DWORD ret = SetFilePointer( hFile, -5l, NULL, FILE_END);
    SetEndOfFile(hFile);
    Sous Unix, et peut-être Linux tu as "ftruncate", regarde
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 70
    Par défaut
    Trap D dit:
    SetFilePointer( hFile, -5l, NULL, FILE_END);
    hFile c'est le chemin d'accès au fichier?
    Ex:CIDID\FIFIF.exe ???

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 70
    Par défaut
    Pour utiliser ces fonctions, il faut que j'ouvre le fichier avec la méthode CreateFile.
    Builder me demande des void*, Qu'est ce que c'est????

  5. #5
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Par défaut
    Salut
    Oui il faut utiliser CreateFile.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    HANDLE CreateFile(
    LPCTSTR lpFileName, 
    DWORD dwDesiredAccess, 
    DWORD dwShareMode, 
    LPSECURITY_ATTRIBUTES lpSecurityAttributes, 
    DWORD dwCreationDispostion , 
    DWORD dwFlagsAndAttributes, 
    HANDLE hTemplateFile);
    Par exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
      HANDLE  hdl = CreateFile("C:DIDID\\FIFIF.exe",  GENERIC_WRITE, 
    						  FILE_SHARE_READ|FILE_SHARE_WRITE,
    						  NULL, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL,
    						  NULL);
    Il faut regarder les options du CreateFile, l'aide de Builde peut te les donner.
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 70
    Par défaut
    Je n'avait pas compris le Handle.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 70
    Par défaut
    Merci, ça marche

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 27/08/2012, 11h21
  2. Réponses: 6
    Dernier message: 07/06/2011, 11h00
  3. [Toutes versions] Récupération des noms des fichiers jointes d'un élément d'une liste
    Par hassine dans le forum SharePoint
    Réponses: 1
    Dernier message: 01/03/2010, 11h38
  4. Réponses: 2
    Dernier message: 24/01/2009, 10h21
  5. Réponses: 14
    Dernier message: 01/12/2003, 17h47

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