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 :

Tronquer un fichier ou supprimer des octets à la positions i


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2019
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2019
    Messages : 108
    Par défaut Tronquer un fichier ou supprimer des octets à la positions i
    Bonjour,

    Je sais me positionner dans un fichier à l'aide de fonction seek et tell (respectivement seekg, seekp, tellg, tellp), je sais écraser des valeurs dans un fichier, mais est-ce qu'il y a un moyen pour tronquer un fichier, c'est à dire enlever les n derniers octets sans passer par la copie dans un autre fichier ? Mieux encore est-ce qu'il y a moyen de supprimer un certain nombre d'octet sur une position donné ?

  2. #2
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    18 260
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 18 260
    Par défaut
    truncate ou ftruncate si tu passes le handle du fichier.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  3. #3
    Expert confirmé
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Décembre 2015
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2015
    Messages : 1 599
    Par défaut
    Citation Envoyé par chrtophe Voir le message
    truncate ou ftruncate si tu passes le handle du fichier.
    En fait sont des fonctions POSIX, elles ne sont pas dans la bibliothèque standard.
    Si tu n'es pas sous POSIX:
    Tu as depuis l C++17, la fonction std::filesystem::resize_file().
    Sinon avant, il te faudra ré-écrire le fichier avec le flag std::ios_base::openmode::trunc.

  4. #4
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    18 260
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 18 260
    Par défaut
    oui tu as raison, j'avais pas fait attention que c'était du C++, j'avais vu fseek.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2019
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2019
    Messages : 108
    Par défaut
    J'ai aussi trouver bool QFile::resize(qint64 sz) et bool QFile::resize(const QString &fileName, qint64 sz).
    En tout cas merci beaucoup pour vos aides.

  6. #6
    Membre Expert Avatar de Astraya
    Homme Profil pro
    Consommateur de café
    Inscrit en
    Mai 2007
    Messages
    1 048
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Consommateur de café
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 048
    Par défaut
    Fais attention, QFile est une implémentation Qt, ce n'est pas standard

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

Discussions similaires

  1. [Batch] Dans un fichier TxT, supprimer des lignes si vide après un délimiteur.
    Par JRBBT dans le forum Scripts/Batch
    Réponses: 6
    Dernier message: 13/11/2017, 07h30
  2. macro vba pour comparer des fichiers et supprimer des lignes
    Par romanzolanski dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/07/2016, 07h04
  3. [Batch] Ré écrire un fichier en supprimant des lignes
    Par nekcorp dans le forum Scripts/Batch
    Réponses: 7
    Dernier message: 16/11/2012, 11h49
  4. Comment supprimer des fichiers en nombre ?
    Par Didier L dans le forum API, COM et SDKs
    Réponses: 13
    Dernier message: 25/01/2005, 16h01
  5. Shell pour supprimer des lignes d'un fichier
    Par nelsa dans le forum Autres langages
    Réponses: 2
    Dernier message: 20/09/2004, 12h26

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