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.
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.
mmap devrait te servir...
http://man.developpez.com/man2/mmap.2.php
merci,
masi je n'arrive pas a bien me servir de cette fonction :
et cela me met une erreur de descripteur pour popo, popo n'est pas un descripteur valide.....
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);
il est ou le hic ??
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().
Merci infiniment.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager