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.
Partager