Wavein .lpData

niketou Messages postés 295 Date d'inscription dimanche 4 mai 2003 Statut Membre Dernière intervention 6 décembre 2010 - 1 juin 2006 à 11:22
niketou Messages postés 295 Date d'inscription dimanche 4 mai 2003 Statut Membre Dernière intervention 6 décembre 2010 - 1 juin 2006 à 15:00
Salut a tous.
Voila mon probleme.
WAVEHDR  Buffer;
char *Value;


Buffer.lpData=Value;
Buffer.dwBufferLength=1024;

Cela renvoit une donnee de type char de longueur 1024.
Ce que je voudrai c'est avoir un tableau de1024 valeur de type short(0 a 255) pour les traiter ensuite.
Merci a vous.

10 réponses

vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
1 juin 2006 à 14:01
A la place char* Value, tu mets char Value[1024]
char fait un octet (0..255), par contre un short fait deux octets
0
niketou Messages postés 295 Date d'inscription dimanche 4 mai 2003 Statut Membre Dernière intervention 6 décembre 2010
1 juin 2006 à 14:05
Salut.
char Value[1024] ,mais apres comment covertir  Value[i] en int?.
Il 'ny a pas un moyen pour declarer directement Buffer.lpData en int?.
Merci .
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
1 juin 2006 à 14:16
Tu sais, un char et un int c'est pareil, sauf que le char est plus petit
Tu peux donc faire int i = Value[0].
C'est juste que i sera toujours entre 0 et 255
0
niketou Messages postés 295 Date d'inscription dimanche 4 mai 2003 Statut Membre Dernière intervention 6 décembre 2010
1 juin 2006 à 14:37
int i[1024];
char *Value[1024];

je fais une boucle:
for (j=0;j<1024;j++){
i[j]=Value[j];
}
Je tombe sur i[0]=127  et i[1]  = -128
c'est logique?.
Je voulais des valeur de 0 a 255 .
Merci de ton aide.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
1 juin 2006 à 14:40
unsigned char
0
niketou Messages postés 295 Date d'inscription dimanche 4 mai 2003 Statut Membre Dernière intervention 6 décembre 2010
1 juin 2006 à 14:44
Buffer.lpData=Data;

error C2440: '=' : cannot convert from 'unsigned char [1024]' to 'char *'
0
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
1 juin 2006 à 14:46
Buffer.lpData=(char*)Data;
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
1 juin 2006 à 14:46
Utilise un char t[1024], et caste ensuite:
int i = (unsigned char)t[0];
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
1 juin 2006 à 14:47
Ou bien caste avant, c'est pareil :)
0
niketou Messages postés 295 Date d'inscription dimanche 4 mai 2003 Statut Membre Dernière intervention 6 décembre 2010
1 juin 2006 à 15:00
Ca a l'air de marcher ,merci beaucoups!.
Je continue les tests.
0
Rejoignez-nous