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

Linux Discussion :

mise en mémoire du contenu d'un fichier


Sujet :

Linux

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    170
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 170
    Points : 54
    Points
    54
    Par défaut mise en mémoire du contenu d'un fichier
    bonjour,

    j'ai une image jpeg, et je voudrai mettre son contenu dans sa globalité en mémoire.
    en effet je veut ensuite traiter par la suite le fichier avec un pointeur.
    Et je ne trouve pas comment faire.

    Je susi sur un noyau linux 2.6.9

    Merci.

  2. #2
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 679
    Points
    18 679
    Par défaut
    mmap devrait te servir...

    http://man.developpez.com/man2/mmap.2.php
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  3. #3
    Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    170
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 170
    Points : 54
    Points
    54
    Par défaut mmap
    merci,
    masi je n'arrive pas a bien me servir de cette fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
     
    FILE * popo,*papa,
    int longueur,*add;
     
     
     
    popo=fopen("monfic",r+);
    papa=fopen("newfic",w+);
     
    add=mmap((caddr_t)0,longueur,PROT_READ|PROT_WRITE,MAP_SHARED,popo,0);
     
    fwrite(add,longueur,papa);
     
    fclose(papa);
    fclose(popo);
    et cela me met une erreur de descripteur pour popo, popo n'est pas un descripteur valide.....
    il est ou le hic ??

  4. #4
    Membre expérimenté
    Inscrit en
    Décembre 2004
    Messages
    1 478
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 478
    Points : 1 664
    Points
    1 664
    Par défaut
    Citation Envoyé par aziatedu13 Voir le message
    et cela me met une erreur de descripteur pour popo, popo n'est pas un descripteur valide.....
    fopen() retourne un pointeur vers un objet de type FILE, alors que mmap() attend un entier qui represente un file decriptor. Utilise open() a la place de fopen() (voir man 2 open) [et evidemment, write() a la place de fwrite(), close() a la place de fclose(), etc.]
    Si tu souhaites quand meme utiliser fopen(), fwrite() et fclose(), une autre solution est d'obtenir le file descriptor a partir de ton pointeur sur FILE, en utilisant fileno().

  5. #5
    Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    170
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 170
    Points : 54
    Points
    54
    Par défaut
    Merci infiniment.

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

Discussions similaires

  1. Mise en mémoire de fichier
    Par darkwall_37 dans le forum Débuter
    Réponses: 4
    Dernier message: 21/11/2009, 18h06
  2. Affichage contenu d'un fichier / mise en forme
    Par AnkyFive dans le forum Langage
    Réponses: 2
    Dernier message: 31/07/2007, 23h06
  3. [XML] [EXPAT] Mise en memoire d'information contenue dans un fichier XML
    Par websurfeur dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 11/04/2007, 14h16
  4. Réponses: 4
    Dernier message: 24/07/2006, 02h03
  5. Réponses: 1
    Dernier message: 12/02/2003, 09h36

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