sophocle38 a écrit :
J'ai essayé de passer ce pointeur en le castant en FILE, mais il me jette en faisant une segfault.
|
C'est évident. Une structure de type "FILE" est une structure bien spéciale qui permet de gérer des fichiers. Cette structure est initialisée par fopen(). Toi, t'as un pointeur qui pointe vers une zone qui n'a absolument aucun rapport avec une structure FILE. Même si tu castes ce pointeur, la zone pointée ne deviendra pas de type "FILE" pour autant...
sophocle38 a écrit :
J'ai simplement un pointeur vers une image JPEG stockée en RAM et je souhaite la convertir. Les seules fonctions que j'ai rencontrées dans libjpeg sont des fonctions qui prennent un chemin vers un fichier en entrée.
|
Tu veux sans doute dire "qui prennent un pointeur de type FILE*". La première solution batarde serait de descendre ton BMP dans un fichier mais tu as sûrement dû y penser. Une autre solution pourrait être une approche équivalente (si t'es sur un système norme POSIX style UNIX/LINUX)
1) tu crées une fonction qui benne ton BMP dans un pipe mémoire
2) de l'autre coté (probablement un fork), tu ouvres ton pipe (open) et tu dupliques le canal de lecture vers un FILE *...
Message édité par Sve@r le 28-07-2007 à 20:18:56
---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.