Wavein .lpData

Signaler
Messages postés
295
Date d'inscription
dimanche 4 mai 2003
Statut
Membre
Dernière intervention
6 décembre 2010
-
Messages postés
295
Date d'inscription
dimanche 4 mai 2003
Statut
Membre
Dernière intervention
6 décembre 2010
-
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

Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
A la place char* Value, tu mets char Value[1024]
char fait un octet (0..255), par contre un short fait deux octets
Messages postés
295
Date d'inscription
dimanche 4 mai 2003
Statut
Membre
Dernière intervention
6 décembre 2010

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 .
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
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
Messages postés
295
Date d'inscription
dimanche 4 mai 2003
Statut
Membre
Dernière intervention
6 décembre 2010

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.
Messages postés
2070
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
3 juillet 2006
8
unsigned char
Messages postés
295
Date d'inscription
dimanche 4 mai 2003
Statut
Membre
Dernière intervention
6 décembre 2010

Buffer.lpData=Data;

error C2440: '=' : cannot convert from 'unsigned char [1024]' to 'char *'
Messages postés
2070
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
3 juillet 2006
8
Buffer.lpData=(char*)Data;
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
Utilise un char t[1024], et caste ensuite:
int i = (unsigned char)t[0];
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
Ou bien caste avant, c'est pareil :)
Messages postés
295
Date d'inscription
dimanche 4 mai 2003
Statut
Membre
Dernière intervention
6 décembre 2010

Ca a l'air de marcher ,merci beaucoups!.
Je continue les tests.