Bonjour,
Comment éviter l'erreur de violation d'acces à la ligne I[p][o][q]=(uint16_t)temp;?
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
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 uint16_t *** get_Images(uint32_t ImageCount,uint32_t ImHeight, uint32_t ImWidth,FILE* fp) { uint16_t ***I; uint16_t temp[2]; I = (uint16_t ***)malloc((ImHeight+ImWidth+ImageCount)*sizeof(uint16_t**)); uint16_t tracks[4]; uint32_t o,p; uint16_t q; printf("ImWidth %d\n",ImWidth); printf("ImWidth*sizeof(uint16_t) %d\n",ImWidth*sizeof(uint16_t)); printf("ImageCount %d\n",ImageCount); printf("ImHeight %d\n",ImHeight); for (p=0;p<ImageCount;p++) { for(o=(ImHeight-1);o>=0;o--) { q=0; while(q<ImWidth) { fread(&temp,2,1,fp); //printf("temp %d",temp); I[p][o][q]=(uint16_t)temp; q=q+2; } } fread(&tracks,sizeof(tracks),1,fp); } return(I); free(I); }
Message:
'Cine_project.exe'*: Chargé 'C:\Users\qz27p2\Documents\Visual Studio 2010\Projects\Cine_project\Debug\Cine_project.exe', Les symboles ont été chargés.
'Cine_project.exe'*: Chargé 'C:\Windows\SysWOW64\ntdll.dll', Cannot find or open the PDB file
'Cine_project.exe'*: Chargé 'C:\Windows\SysWOW64\kernel32.dll', Cannot find or open the PDB file
'Cine_project.exe'*: Chargé 'C:\Windows\SysWOW64\KernelBase.dll', Cannot find or open the PDB file
'Cine_project.exe'*: Chargé 'C:\Windows\SysWOW64\msvcr100d.dll', Les symboles ont été chargés.
Exception de première chance à 0x00bd3f7d dans Cine_project.exe*: 0xC0000005: Violation d'accès lors de la lecture de l'emplacement 0xcdcdd389.
Merci d'avance pour d'éventuelles réponses.
Partager