Bonjour,
j'ai voulu lire un fichier binaire
j'ai fait ça
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
 
void Read_C3D_Data()
{
 
//unsigned char	residual, num_cam;
unsigned short	frame, marker, sample, channel;
unsigned short	start_byte;
 
infile=fopen("cube.c3d","r+");
// Startbyte is the starting location of tvd/adc data
start_byte=start_record_num;
start_byte = 512 * (start_byte - 1);
marqueur markers;
 
// Position file pointer to start of data record
fseek(infile,start_byte,0/*SEEK_SET*/);
float kx,ky,kz,ke;
float kk;
// For each frame
for (frame = first_field; frame <= last_field; frame++)
{
	// Read Video data
	//printf("Frame #%d\n",frame);
	// For each marker
	///printf("Marker #:\n\t\t");
 
	for (int i /*marker*/ = 1; /**/i <= num_markers; /*marker*/i ++)
 
	{
		printf("%d ",/*marker*/i);
		markers.num_marqueur=/*marker*/i;
	    fread(&markers.x, sizeof(float), 1, infile);
	     printf("x= %f\n",markers.x);
 
		fread(&markers.y, sizeof(float), 1, infile);
		printf("y=  %f\n",markers.y);
 
		fread(&markers.z, sizeof(float), 1, infile);
 
		printf("z= %f\n",markers.z);
		F.marqueur.resize(F.marqueur.size()+1);
		F.marqueur[F.marqueur.size()-1]=markers;
 
		fread(&ke, sizeof(float), 1, infile);
	} // Next marker
 
	F.num_frame=frame;
	framme.resize(framme.size()+1);
	framme[framme.size()-1]=F;
 
}
 
}
lors de l’exécution il travail bien mais lorsque il est dans
frame17 marker 8 il stop la lecture du fichier (sans me fait qu'il y a une erreur !!!!!!)
il m'affiche pour les frames suivante et pour les marker suivant les information du frame 17 marker 7!!!!!!!!!!!
j'ai debuger et je suis sure qu'il ne lit pas
à partir de frame 7 marker 7
il m'affiche la même valeur pour "infile" pour tout les frame et tout les mark
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
nfile 0x7387e4f8 {_ptr=0x006a4d98 "p
/C~¨±Cï—4D" _cnt=0 _base=0x006a4d98 "p
/C~¨±Cï—4D" ...} _iobuf *
alors quand il passe
Code : Sélectionner tout - Visualiser dans une fenêtre à part
fread(&markers.x, sizeof(float), 1, infile);
il ne fait pas la lecture

j'ai passé toute la journé sans trouvé ou est la faute(parce que il recupére les mêmes donnée sans faute pour les autres frames )