Problème de fonctions ....

cs_pirana Messages postés 17 Date d'inscription dimanche 8 juin 2003 Statut Membre Dernière intervention 16 juin 2005 - 12 avril 2005 à 21:18
minet03 Messages postés 415 Date d'inscription samedi 4 janvier 2003 Statut Membre Derniè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 ...





Quelqu'un pourrai m'aider ...



Merci à vous :)

2 réponses

cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 1
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...

+2(p - n)
0
minet03 Messages postés 415 Date d'inscription samedi 4 janvier 2003 Statut Membre Dernière intervention 2 décembre 2005 3
13 avril 2005 à 13:15
et si tu met buffer en variable global ?

Le CyberMonde nous offre une meilleur qualité de vie
CyberMan.inc The WebSite
0
Rejoignez-nous