cs_pirana
Messages postés17Date d'inscriptiondimanche 8 juin 2003StatutMembreDernière intervention16 juin 2005
-
12 avril 2005 à 21:18
minet03
Messages postés415Date d'inscriptionsamedi 4 janvier 2003StatutMembreDernière intervention 2 décembre 2005
-
13 avril 2005 à 13:15
Bonjour à vous
voila j'ai un ptit problème avec mes variables..
La première :(ou je veux juste lui "donner" une valeur ,et me retourne 1...)
J'aimerai créée une fonction avec ce code dedans:
buffer[0]=value;
fflush(stdin);
WriteCOM(buffer, strlen(buffer), &nBytesWritten);
j'ai écrit ça :
int envoi_octet(int value)
{
buffer[0]=value;
fflush(stdin);
WriteCOM(buffer, strlen(buffer), &nBytesWritten);
return 1;
}
et je l'appel :
envoi_octet(0x3);
Mais il me trouve des erreurs ... me dit que buffer n'est pas déclarer, pourtant je lai mis dans mes variables globales...
Et mon autre fonction:
int reception_octet(int value_recu)
{
ReadCOM(buffer, sizeof(buffer)-1, &nBytesRead);
return(buffer);
}
je l'appel
reception_octet(buffer)
Et là je voudrai la valeur contenu dans le buffer ...
cs_AlexMAN
Messages postés1536Date d'inscriptionsamedi 21 décembre 2002StatutMembreDernière intervention24 mai 20091 13 avril 2005 à 06:43
Il te faut absolument placer buffer au dessus des fonctions concernées, on est ok ?
Ensuite, quelques petits trucs au niveau de ton code :
Tu fais un strlen() sur une chaine qui ne contient qu'un seul caractere, a quoi bon ? Passe la taille en dur.
Ensuite, tu receptionnes un entier dans un char, je ne sais pas si c'est toi qui passe 'value', mais fais bien attention a ne pas depasser les 'limites des char', dans le cas contraire, je ne sais pas comment fonctionne WriteCom(), mais tu peux : soit passer l'entier a la fonction en faisant un cast, soit utiliser ce 'truc' : *((DWORD *)buffer) = value;
Enfin, envoie l'erreur exacte accompagné d'un peu plus de code, parce que la, il est tres difficile de t'aider...