Bonjour,
J'ai un probl�me d'enregistrement de donn�e a vous soumettre.
Je dois enregistrer des donn�es 'byte - int - long' dans un fichier s�quentiel. La longueur totale d'une trame est de 759 byte. Or lors de la lecture des trames je n'obtient pas le r�sultat excompt�, pire j'ai des blanc qui s'ajoute dans les premiers paquets de donn�es.
Il ya donc quelque chose que je n'ai pas compris ou oublier , Pouvez vous m'aider et m'expliquer pourquoi?
voici la partie du code simplifi�e que j'utilise pour enregister le stream.
Y a t'il un longueur minimale pour le premier record ou ???
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 FILE* stream; BYTE buff[8]; int numwritten ,data1; long data2; data1 =100; data2 =200; fpos_t pos=0; for ( int i = 0; i < 8; i++ ) buff[i] = (BYTE) i; if( (stream = fopen( "file.dat", "w" )) != NULL ) { for ( int i = 0; i < 200; i++ ) // par exemple { fsetpos( stream, &pos ); numwritten = fwrite( &buff, sizeof( buff), 4, stream ); numwritten = fwrite( &data1 , 1, 1, stream ); numwritten = fwrite( &data2 , 1, 1, stream ); /* plus les autre champ pour obtenir 759 bytes */ fgetpos( stream, &pos ); } fclose( stream ); } else printf( "Problem opening the file\n" );
Je vous remercie pour votre aide
Partager