Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1271 connectés 

 


Dernière réponse
Sujet : [C++]Un truc bizarre!
BifaceMcLeOD Je suis tombé dans la programmation étant petit... :D
Sinon, j'ai un diplôme d'ingénieur (je cite) "spécialisé en techniques informatiques" depuis 4 ans (ceux qui connaissent ce titre devraient reconnaître d'où je viens :D ).

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
BifaceMcLeOD Je suis tombé dans la programmation étant petit... :D
Sinon, j'ai un diplôme d'ingénieur (je cite) "spécialisé en techniques informatiques" depuis 4 ans (ceux qui connaissent ce titre devraient reconnaître d'où je viens :D ).
yush Depuis combien d'annee tu programme.
(tu remarqueras que je ne te demande pas le nombre d'heure passer a programmer!).
Et t'as fait quoi comme parcours scolaire?.
Sinon ca marche et j'ai fini mon loader de fichier TGA.
BifaceMcLeOD Non, je ne me considère pas comme un monstre de la programmation ;)
Par contre, j'aime bien aider les gens. Chose que je faisais déjà j'étais étudiant (avec mes copains de promo).
 
Et puis débarquer dans un code que tu n'as pas écrit et arriver à en trouver les erreurs rapidement est un exercice intellectuel très intéressant (quoi que difficile, je suis très loin d'y arriver), et qui en plus (là oui) me sert dans mon travail.
tgrx

Yush a écrit a écrit :

Paske tu est quand un monstre de laprog (sisi).




 
:sol: tranquille le biface

 

[edit]--Message édité par tgrx--[/edit]

yush En effet, c'etait bien ca..
C'est vrai que je me suis toujours enmelés les pinceaux avec les pointeurs.
Heureusement que tu etais la car j'aurais jamais trouve tout seul.
Je me pose quand meme question. Qu'est ce qui te pousse a repondre a des questions comme les miennes sur un forum de prog. Paske tu est quand un monstre de laprog (sisi). Ca t'aide pour ton boulot de rechercher des erreurs, tu le fais paske kkun t'as aide lorsque tu debutais, ou justement personne ne t'as aide....
Mais en tout cas c'est vraiment super sympa.Merci bien
@++.
BifaceMcLeOD Je viens de voir l'erreur.
Tu as écris :

Code :
  1. verif = fread ( &buffer , sizeof (buffer), 1, fp);


 
Ce qui signifie que tu modifies ici le pointeur buffer et non pas la zone mémoire qu'il pointe. Et évidemment, après buffer va pointer sur n'importe quoi, et le premier accès à la zone nouvellement pointée fera SEGV...
 
A mon avis, tu dois écrire:

Code :
  1. verif = fread ( buffer , buffer_length, 1, fp);


avec un buffer_length initialisé comme suit avant :

Code :
  1. int buffer_length =  width * height * ( bpp/8);
  2. buffer = (char *) malloc (buffer_length * sizeof(char));

yush

Citation :

BifaceMcLeOD Comment est déclaré temp ?  


 
comme ca:
char temp[2];

BifaceMcLeOD Comment est déclaré temp ?
yush Le message d'erreur de windows est "Ce programme va etre arrete car il a effectue une operation non conforme".La routine koa.
Et le bout de code:
buffer = (char *) malloc ( width * height * ( bpp/8));
 
 if ( buffer == NULL)
 {
  printf("Erreur lors de l'allocation de memoire\n" );
 }
 
 temp[0]=buffer[2]; // la, on peut lire et ecrire ds le buffer.
 if ( bpp == 24)
 {
  int i=0;
  fseek ( fp, 18, SEEK_SET);
  verif = fread ( &buffer , sizeof (buffer), 1, fp);
  if ( verif != 1)
  {
   printf("Erreur lors de la lecture de l'image\n" );
  }
  else  
  {
   printf("Lecture OK\n" );
  }
  fclose ( fp);
 temp[0]=buffer[2];    <
 temp[1]=buffer[0];    < la ca marche plus et j'ai le message.
janoscoder Ben c'est quoi le message? Et le code?
yush J'ai un truc un peu bizarre dans mon code.
J'ai cree un buffer avec malloc et une variable temporaire ( char temp[1] ).
Quand je lis ou j'ecris ds le buffer il n'y a aucun probleme.
temp[0]=buffer[2] <== ca marche.
Mais lorsque je remplis ce buffer avec un bout de fichier avec la fonction fread, je ne peux plus ni lire, ni ecrire ds le buffer alors que ce marche avant fread!
Le compilo compile mais c'est lors de l'execution du programme que j'ai un gros message d'erreur venant de windows.
Comment ca se fait et comment puis je faire pour que ca marche?

Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR