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 :

Taille fichier maximal


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Février 2010
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 80
    Par défaut Taille fichier maximal
    Dans mon programme, je suis amené à créer des fichiers sorties ASCII ou binaire qui sont assez volumineux (plus de 2 go)

    Je voulais savoir si il y a toujours des problèmes de taille maximale des fichiers. Le programme tourne sur ubuntu et windows 32 bits ou 64bits.

    Merci par avance.

  2. #2
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    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 395
    Par défaut
    Sous Windows, il n'y a pas de problème pour les fonctions à bas niveau (CreateFile(), SetFilePointer()).

    Par contre, les fonctions C comme fseek() ne sont peut-être pas prévues pour.
    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.

  3. #3
    Membre confirmé
    Inscrit en
    Février 2010
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 80
    Par défaut
    J'utilise les fonctions fteel, fopen et fclose. Est ce qu'elles posent problèmes.

  4. #4
    Expert confirmé

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Par défaut
    ftell retourne par definition un long. Donc va poser un probleme pour des offsets de plus de 2GB si un long fait 32 bits (i.e. tous les systemes 32 bits et Windows 64 bits -- a ma connaissance tous les autres systemes 64 bits ont un long sur 64 bits).

    Il y a en C90 fsetpos() et fgetpos() qui, utilisant des fpos_t, n'ont pas ce probleme.

    Si ca ne suffit pas (par exemple si tu veux de l'arithmetique sur le resultat), Unix definit depuis 96 tout un complement d'interface pour le support des grands fichiers (Large File Support) voir http://www.suse.de/~aj/linux_lfs.html, http://www.opengroup.org/platform/lfs.html.

  5. #5
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    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 395
    Par défaut
    Citation Envoyé par Jean-Marc.Bourguet Voir le message
    Il y a en C90 fsetpos() et fgetpos() qui, utilisant des fpos_t, n'ont pas ce problème.
    Mais ont un inconvénient par rapport à ftell(fichier binaire):
    The pos value is stored in an internal format and is intended for use only by fgetpos and fsetpos.
    Pour les fichiers ouverts en mode texte par contre, ça ne fait aucune différence puisque c'est déjà le cas.
    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.

  6. #6
    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 Médinoc Voir le message
    Mais ont un inconvénient par rapport à ftell(fichier binaire)
    Et c'est pour ca que j'ai aussi pointe sur la doc de Unix sur les complements existant (principalement ftello/fseeko qui utilisent des off_t avec off_t qui est un type arithmetique; mais il vaut mieux lire la doc parce qu'il y a un jeu avec des define pour choisir entre differentes possibilites)

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

Discussions similaires

  1. [FTP] Récupération taille fichier sur ftp
    Par Kerod dans le forum Langage
    Réponses: 4
    Dernier message: 18/04/2006, 03h18
  2. réduction taille fichier
    Par Bibouda dans le forum Autres Logiciels
    Réponses: 3
    Dernier message: 27/10/2005, 17h43
  3. Taille fichier smart upload
    Par Homer dans le forum ASP
    Réponses: 2
    Dernier message: 20/10/2005, 21h18
  4. Limiter taille fichier joint à un mail
    Par fdthierry dans le forum Applications et environnements graphiques
    Réponses: 2
    Dernier message: 27/08/2004, 12h12
  5. [URL] taille fichier
    Par hocinema dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 09/07/2004, 16h03

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