|
|
|
|
Bonjour,
J'ai un petit problème avec ses lignes de code:
int fd;
if((fd=open(source,O_WRONLY))<0)
{
printf("ERREUR");
exit(1);
}
erreur: 'open' was not declared in this scope erreur: 'O_WRONLY' was not declared in this scope
Configuration: Windows XP Internet Explorer 6.0
J'ai finalement décidé d'utiliser fopen. Le seul petit problème est qu'il crée un fichier texte en binaire (même avec le mode O_TEXT). Du coup, un message d'erreur apparait à l'ouverture du fichier avec un éditeur de texte et des caractères parasites apparaît...
|
Voici ma fonction en entier:
int Image::save_info(char* chemin_fichier)
{
FILE* test;
if((test=fopen(chemin_fichier,"w|O_TEXT"))==NULL)
{
return 0;
}
fprintf(test,"\n\n******INFORMATION ENTETE FICHIER******\n\n");
fprintf(test,"Signature: %s\n",signature);
fprintf(test,"Taille du fichier: %lld octets\n",taille_fichier);
fprintf(test,"Champ réservé: 0x%c %c\n\n",champ_reserve[0],champ_reserve[1]);
fprintf(test,"Offset: 0x%c %c\n\n",offset[0],offset[1]);
fprintf(test,"******INFORMATION ENTETE IMAGE******\n\n");
fprintf(test,"Taille de l'entête: %s\n",taille_entete);
fprintf(test,"Largeur: %d pixels\n",largeur);
fprintf(test,"Hauteur: %d pixels\n",hauteur);
fprintf(test,"Nombre de plan: %d\n",nb_plan);
fprintf(test,"Codage de couleurs: %d bits\n",codage_couleur);
fprintf(test,"Methode de compression: %s\n",methode_compression);
fprintf(test,"Taille de l'image: %d octets\n",taille_image);
fprintf(test,"Résolution horizontale: %d pixels/mètres\n",reso_hor);
fprintf(test,"Résolution verticale: %d pixels/mètres\n",reso_ver);
fprintf(test,"Nombre de couleurs dans la palette: %d\n",cou_pal);
fprintf(test,"Nombre de couleurs importantes dans la palette: %d\n",cou_pali);
fclose(test);
return 1;
}
Seules les forces obscures peuvent ouvrir et fermer les portes de Silent Hill |
Man open donne : ( http://www.linux-kheops.com/doc/man/manfr/man-html-0.9/man2/open.2.html )
|
Merci Char Snipeur... je vais rajouter les librairies. Elles n'étaient pas indiqué en utilisant man sur mon pc.
|
Ok, ça fonctionne cette fois.
|
Si tu as ton ../../arrow.bmp dans uns chane de caratère, il suffit d'enlever tout ce qui a un rapport avec le chemin relatif et l'extension.
|
Merci, ça fonctionne parfaitement.
fseekpuis en lisant l'octet avec fgetcj'optiens en hexa ffffffc0 au lieu de c0 sachant que je stock cette données dans une case d'un tableau de caractère (donc un octet par case) pourtant il ne me met pas d'erreur.... J'ai l'impression que le printfme rajoute les 'f' devant ma données, pourquoi et comment l'en empêché ? Merci d'avance Seules les forces obscures peuvent ouvrir et fermer les portes de Silent Hill |