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

Langage C++ Discussion :

Recuperer la taille d'un fichier > 4Go avec la STL


Sujet :

Langage C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 40
    Par défaut Recuperer la taille d'un fichier > 4Go avec la STL
    Bonjour,

    Je cherche à récupérer la taille d'un fichier de plus de 2 Go.

    La manière habituelle avec la stl (seekg, tellg) me renvoi une taille negative car le fichier de test est trop grand (~ 5 Go)

    J'ai cherche sur internet, mais je trouve rien de concluant pour mon cas.

    Donc existe-t-il un moyen de le faire simplement, voir de manière complexe tant que je suis pas obligé de lire le fichier en entier pour compter le nombre de caractère lu ?

    Merci

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 487
    Par défaut
    Portable ou spécifique à une plateforme ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 40
    Par défaut
    De préférence portable, mon programme doit fonctionner sur Windows et Aix.

    Mais si il n'existe aucune solution portable, ben je vais devoir rechercher les solution spécifique ...

  4. #4
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Bonjour,
    Il existe Boost.Filesystem qui est portable sur ces 2 plateformes je crois. Tu as un tuto sur le site : Boost.FileSystem : le système de fichiers de Boost, par Matthieu Brucher.
    La doc de boost propose aussi en exemple un programme qui récupère la taille d'un fichier. YAPUKA tester

  5. #5
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 487

  6. #6
    Expert confirmé
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 296
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 296
    Par défaut
    Tu stockes dans des int (signé, ce qu'il ne faut pas faire) ou dans le type dédié, à savoir std::streamsize/std::istream::pos_type (non signé, donc jamais négatif ....) ?
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

  7. #7
    Expert confirmé

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 756
    Billets dans le blog
    3
    Par défaut
    Citation Envoyé par bacelar Voir le message
    GetFileAttributesEx évite de devoir ouvrir/fermer le fichier :
    http://msdn.microsoft.com/en-us/libr...46(VS.85).aspx


  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 40
    Par défaut
    Luc Hermitte : Je stock dans un long long.


    3DArchi : c'est vrai que j'oublie à chaque fois boost. Faut que je regarde sur AIX comment on le rajoute et quelle version est compatible avec mon systeme.

    Et merci pour la doc pour windows

Discussions similaires

  1. Recuperer la Taille d'un Fichier
    Par med_ellouze dans le forum Entrée/Sortie
    Réponses: 5
    Dernier message: 14/08/2007, 12h48
  2. recuperer la taille d'un fichier
    Par opensource dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 13/06/2007, 16h33
  3. recuperer la taille d'un fichier.
    Par N00Bforever dans le forum Delphi
    Réponses: 16
    Dernier message: 08/04/2007, 06h37
  4. [VB6] [Réseau] Récupérer la taille d'un fichier avec inet
    Par pcpunch dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 20/02/2003, 21h38
  5. [VB6] [Fichier] Récupérer sa taille
    Par SpP dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 21/09/2002, 19h56

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