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 :

Lire des fichier > 4G


Sujet :

C++

  1. #21
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Citation Envoyé par uriotcea Voir le message
    Merci pour tout, mais apres reflexion, cela m'aide pas beaucoups dans la lecture de mes fichier > 4GO sous windows avec BDS6
    ?
    fseeko, ftello ne te convienne pas?

  2. #22
    Membre éprouvé Avatar de uriotcea
    Homme Profil pro
    Ingénieur / physicien
    Inscrit en
    Septembre 2003
    Messages
    1 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur / physicien
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 301
    Par défaut
    Cette fonction n'existe pa non-plus dans mon <stdlib.h>

  3. #23
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par défaut
    Sous Windows, la C Run-Time Library (CRT) de Microsoft propose _fseeki64() et _ftelli64().
    Avec un peu de chance, un simple #define suffira pour les renommer en fseeko et ftello (il faudra peut-être aussi un typedef ou deux).

    Edit: Seulement à partir de la version 2005. Donc, indisponible sous MinGW, à moins que MinGW propose lui-même une extension...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  4. #24
    Expert confirmé

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Billets dans le blog
    3
    Par défaut
    Citation Envoyé par toxcct
    long est bien sur 32 bits, int dépend du systeme. sur un Vista 64, ton int va faire 64 bits
    Si il existe bien une seule règle en C/C++ sur les types entier c'est celle que sizeof(char) <= sizeof(short) <= sizeof(int) <= sizeof(long)
    Et il n'en existe pas d'autre....

    Par contre chaque compilateur définit ses propres int8, int16, int32 et int64...

    Pour ce qui est de x64 (que ce soit sous Vista/XP/...) avec VisualC++ (parceque bon, rien ne dit qu'un autre compilo fasse la même chose !):

    sizeof(int)=sizeof(long)=32, comme sous Win32
    mais sizeof(longlong)=sizeof(size_t)=sizeof(void*)=64 ....

  5. #25
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Par défaut
    Si il existe bien une seule règle en C/C++ sur les types entier c'est celle que sizeof(char) <= sizeof(short) <= sizeof(int) <= sizeof(long)
    Et il n'en existe pas d'autre....
    Il en existe un certain nombre d'autres.
    sizeof(char) = 1
    char fait au moins 8 bits
    short fait au moins 16 bits

    sizeof(int)=sizeof(long)=32, comme sous Win32
    sizeof retourne la taille en bytes, pas en bits.
    Et un byte ne fait pas forcément 8 bits.

  6. #26
    Membre Expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2007
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 895
    Par défaut
    Citation Envoyé par Nykoo Voir le message
    Sous windows les 2 font 4 octets, c'est peut être ça qu'il essayait de dire?
    Ce n'est pas la plateforme destination qui décide de la taille d'un int ou d'un long, mais l'implémentation du language C ou C++ utilisé (c'est à dire le compilateur).

    @loufoque: quelques précsions...

    "Il en existe un certain nombre d'autres."
    Euh, non, pas que je sache. Mais ma version du standard date un peu (15 octobre 2003... hum).

    "short fait au moins 16 bits"
    Non. La norme précise juste sizeof(short) >= sizeof(char). Quand à l'affirmation "char fait au moins 8 bits", elle est fausse aussi: un char est définit comme pouvant encoder au minimum l'ensemble des caractères basiques (basic character set) utilisés dans le code source d'un programme (§3.9.1-1 de la norme C++), soit 96+4 caractères (§2.2-1, §2.2-3 de la norme C++). Un char peut donc être encodé sur 7 bits si besoin.

    Comment ça, je pinaille...
    [FAQ des forums][FAQ Développement 2D, 3D et Jeux][Si vous ne savez pas ou vous en êtes...]
    Essayez d'écrire clairement (c'est à dire avec des mots français complets). SMS est votre ennemi.
    Evitez les arguments inutiles - DirectMachin vs. OpenTruc ou G++ vs. Café. C'est dépassé tout ça.
    Et si vous êtes sages, vous aurez peut être vous aussi la chance de passer à la télé. Ou pas.

    Ce site contient un forum d'entraide gratuit. Il ne s'use que si l'on ne s'en sert pas.

  7. #27
    Membre éprouvé Avatar de uriotcea
    Homme Profil pro
    Ingénieur / physicien
    Inscrit en
    Septembre 2003
    Messages
    1 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur / physicien
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 301
    Par défaut
    Oui tout ca est passionnant, mais ce serait pas mal si vous jetiez un oeil à la question originale !

  8. #28
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par uriotcea Voir le message
    Oui tout ca est passionnant, mais ce serait pas mal si vous jetiez un oeil à la question originale !
    ben quoi ? __int64 ?

  9. #29
    Membre éprouvé Avatar de uriotcea
    Homme Profil pro
    Ingénieur / physicien
    Inscrit en
    Septembre 2003
    Messages
    1 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur / physicien
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 301
    Par défaut
    Hé bien, avec BDS6 je ne dispose ni de fseeko ni de _feeki64. Alors je repose ma question : comment puis-je sur mon system windows xp 64 lire des fichiers > 4GO sous borland developper studio 2006 C++. ?

  10. #30
    Expert confirmé

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Par défaut
    Citation Envoyé par Emmanuel Deloget Voir le message
    "short fait au moins 16 bits"
    Non. La norme précise juste sizeof(short) >= sizeof(char).

    Quand à l'affirmation "char fait au moins 8 bits", elle est fausse aussi:
    Les deux affirmations sont vraies. Voir les contraintes sur les macros de limits.h qui imposent des intervalles minimums; de meme, long fait au moins 32 bits.

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. [Excel] Comment lire des fichiers excel avec php?
    Par dear_rihab dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 02/11/2007, 12h38
  2. Lire des fichiers iso sous linux
    Par wodel dans le forum Applications et environnements graphiques
    Réponses: 3
    Dernier message: 28/11/2005, 10h17
  3. [Audio]Lire des fichiers sons
    Par Ender dans le forum Multimédia
    Réponses: 6
    Dernier message: 05/10/2005, 01h50
  4. Lire des fichiers .mpc
    Par Thrystan dans le forum Applications et environnements graphiques
    Réponses: 2
    Dernier message: 11/12/2004, 13h15
  5. [ZIP]besoin de lire des fichiers avec l'extension tar.gz
    Par mathieublanc13 dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 24/05/2004, 13h35

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