Accueil > Forum > > > > pb avec les pointeurs
pb avec les pointeurs
mercredi 16 juin 2004 à 09:33:10 |
pb avec les pointeurs

oudkaramla
|
salut, j'ai un problème dont je ne sais l'origine: en fait j'ai définis la fonction : int EnvoyerAvecReponse(char *g_buffer, unsigned long nBytesToWrite, unsigned long nBytesToRead) et je fais appel à cette fonction dans Main de la façon suivante: resultat=EnvoyerAvecReponse(g_buffer, (unsigned long)strlen(g_buffer), (unsigned long)(sizeof(g_buffer)-1)); le debbuger me retourne la réponse suivante: error C2664: 'EnvoyerAvecReponse' : cannot convert parameter 3 from 'unsigned long' to 'unsigned long *' ********************************************* j'ai re gardé sur le msdn, j'ai trouvé ça (mais je ne me vois pas avoir commis cette erreure): Compiler Error C2664 'function' : cannot convert parameter number from 'type1' to 'type2' The specified parameter of the specified function could not be converted to the required type. If you've encountered this error on code which compiled with an earlier version of Visual C++, please read Technote: Improved Conformance to ANSI C++ for more information. The following is an example of this error: class A {} a; func( int, A ); void main() { func( 1, 1 ); // error, no conversion from int to A } ************************************************* à l'aide merci
|
|
mercredi 16 juin 2004 à 09:44:01 |
Re : pb avec les pointeurs

AlexMAN
|
N'utilise pas de conversions explicites, utilise ta fonction come suit : resultat=EnvoyerAvecReponse(g_buffer, strlen(g_buffer), sizeof(g_buffer)-1);
les conversions seront mis en place par le compilateur si nécessaire (les conversions implicites : conversion d'ajustement de type et promotion numérik)
voila ++
alhexman
|
|
mercredi 16 juin 2004 à 10:05:17 |
Re : pb avec les pointeurs

oudkaramla
|
ça marche toujours pas: quand je fais sizeof((g_buffer)-1) il me retourne: cannot convert parameter 3 from 'unsigned int' to 'unsigned long *' voilà, je ne sais pas pourquoi?
|
|
mercredi 16 juin 2004 à 10:12:47 |
Re : pb avec les pointeurs

AlexMAN
|
Poste le code paske je ne vois pas trop ou est le pb....
|
|
mercredi 16 juin 2004 à 10:18:24 |
Re : pb avec les pointeurs

oudkaramla
|
if (argc>2) { switch (atoi(argv[1])) { case CT_RECEVOIR: strcpy(Nomfichier,argv[2]); strcpy(g_buffer, argv[3]); printf(" le g_buffer:%s\n",g_buffer); strcat(g_buffer, "\r\r\n\n");
printf("BitsLus dans main:%d\n",BitsLus); //EnvoyerAvecReponse(char *g_buffer, unsigned long nBytesToWrite, unsigned long nBytesToRead) resultat=EnvoyerAvecReponse(g_buffer,(unsigned long) strlen(g_buffer),(unsigned long) (sizeof((g_buffer)-1))); printf("le resultat de Recevoir:%d\n",resultat); break; } return FUNCOK;
} /****************ENVOYER AVEC REPONSE************/
int EnvoyerAvecReponse(char *g_buffer, unsigned long nBytesToWrite, const unsigned int nBytesToRead) { unsigned long nBytesWritten; unsigned long nBytesRead; unsigned long EtatReadFile;
char nPORT[16]; fichier=fopen("d:/com.txt", "rt"); if (!fopen("d:/com.txt", "rt")) { printf("erreure lors de l'ouverture du fichier COM.txt"); fclose(fichier); return FUNCERROR; }
else
{ fgets(nPORT,5,fichier); /* on lit le dernier COM utilise */ fclose(fichier); printf("la valeur de nPORT dans envoyer:%s\n",nPORT); printf("la longeur de nPORT dans envoyer:%d\n",strlen(nPORT)); printf("la valeur de g_hCOM dans envoyer:%d\n",g_hCOM); g_hCOM = CreateFile(nPORT, GENERIC_READ|GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_SYSTEM, NULL); printf("le resultat de createfile dans envoyer sans recevoir:%d\n",GetLastError()); if(g_hCOM == INVALID_HANDLE_VALUE) { printf("Erreur lors de l'ouverture du port COM%d", g_nId); return FUNCERROR; }
/* affectation taille des tampons d'émission et de réception */ SetupComm(g_hCOM, RX_SIZE, TX_SIZE);
printf(" le retour de SetupComm dans openCOM:%d\n",GetLastError()); /* configuration du port COM */ if(!SetCommTimeouts(g_hCOM, &g_cto) || !SetCommState(g_hCOM, &g_dcb)) { printf("Erreur lors de la configuration du port COM%d", g_nId); CloseHandle(g_hCOM); return FUNCERROR; } } if(WriteFile(g_hCOM, g_buffer, nBytesToWrite, &nBytesWritten, NULL)) { printf("\nEnvoie Reussi!!!!!!!!!!!!!!!!\n"); return FUNCOK; ReadFile(g_hCOM, g_buffer, nBytesToRead, &nBytesRead, NULL);
EtatReadFile=GetLastError();
if(ReadFile(g_hCOM, g_buffer, nBytesToRead, &nBytesRead, NULL)) { printf("reception reussie!!!\n"); return FUNCOK; } else { printf("Erreur lors de la réception.\r\n"); return FUNCERROR; } } else { printf("le resultat de WriteFile dans writeCOM:%d\n", GetLastError()); return FUNCERROR; } }
|
|
mercredi 16 juin 2004 à 10:20:15 |
Re : pb avec les pointeurs

oudkaramla
|
LE PROBLEME N'est pas dans const unsigned int nBytesToRead car j'ai oublié de le changer en unsigned long avant de te l'envoyer voilà, merci
|
|
mercredi 16 juin 2004 à 10:32:31 |
Re : pb avec les pointeurs

AlexMAN
|
C pas normal ! mais d'abord : - enleve les cast dont je t'ai parlé ta leur - avec sizeof((g_buffer)-1), tu veux faire koi ? recup la taille de g_buffer puis - 1 ? ds ce cas la, c sizeof(g_bufffer) - 1; - montre moi la maniere dont tu declares g_buffer; - montre le proto de la fonction EnvoyerAvecReponse
|
|
mercredi 16 juin 2004 à 10:45:36 |
Re : pb avec les pointeurs

oudkaramla
|
-j'enlève les casts, j'obtient: cannot convert parameter 3 from 'const unsigned int' to 'unsigned long *' -la manière dont je déclare g_buffer: char g_buffer[256]/*globales*/ strcpy(g_buffer, argv[3]); voilà le problème n'est pas dans g_buffer, le problème est dans le troisième paramètre de la fonction EnvoyerAvecReponse! -la proto c'est quoi:je t'ai envoyé la fonction.
merci
|
|
mercredi 16 juin 2004 à 10:56:20 |
Re : pb avec les pointeurs

AlexMAN
|
Je sais ke le pb vient du troisieme argument mais j'essaye de voir si ya pas d'otre erreur ki pourait entrainer ceci... Bon alors declare un prototype de ta fonction comme tel :
int EnvoyerAvecReponse(char *, unsigned int, const unsigned int);
et puis essaye de recompiler, si ca marche tjrs pas, je ne sais pas d'ou peut venir le pb...Mais jcontinuerai a chercher tkt
|
|
mercredi 16 juin 2004 à 11:04:05 |
Re : pb avec les pointeurs

oudkaramla
|
je l'ai fait j'ai en retour: cannot convert parameter 3 from 'const unsigned int' to 'unsigned long *'
ce qui est bizzare c'est que le compilateur ne cherche même pas à aller à l'intérieure de la fonction EnvoyerAvecReponse
tu connais pas une façon de convertire un pointeur en variable?
|
|
Cette discussion est classée dans : buffer, long, to, error, unsigned
Répondre à ce message
Sujets en rapport avec ce message
ptit probl with:WriteFile() et ReadFile() [ par oudkaramla ]
salut tout le monde,J'ai un petit problem avec WriteFile() et ReadFile().lors de la compilation j'ai les deux suivantes erreures:*********************
ReadprocessMemory & WriteFile [ par Deimos_ ]
Salut à tous, J'ai un petit problème avec les fonctions ReadProcessMemory() et WriteFile() ! En fait, je souhaiterais obtenir dans un fichier texte q
connexion en c à une base mysql [ par duprat ]
Bonjour,je ne suis pas du tout programmeur mais il faut que fasse un exe qui me permette d'insérer des datas dans une base mysql.Tout d'abors j'aimera
[Linker Fatal Error ] Fatal: Unable to open file 'OXMLDOM.OBJ' [ par momo2007ma ]
Bonjours,J'ai un probleme avec l'utilsation de TXMLDocument, ca compile mais lors d'édition de lien, il m'affiche l'erreur suivante:[Linker Fatal Erro
problem avec waveInOpen [ par hicheri ]
salut,j'essaye de transformer un programme d'enregistrement de la voix du C au C++, je suis bloqué sur un probleme de cast. voila un bout de mon prog
Requetes serveur cs 1.6 [ par Mini92 ]
En fait, j'essaye d'envoyer des requêtes sur mon serveur cs mais je n'obtiens aucun retour.Voilà le code si quelqu'un peu m'aider svp#include #include
code pour microcontroleur [ par develdelphi ]
Bonjour, J'ai un code pour microcontroleur,et je ne comprend pas certaines ligneset il s'agit d'opérations sur bits que voici: le programme://////
asservissement position et vitesse [ par marabou34 ]
bonjours ,je développe actuellement un contrôleur moteur a base du microprocesseur NXP lpc2138 j utilise uvision3 comme compilateur et le kit mcb2130
interface graphique GTK [ par ifitep84 ]
bonjour à tous j'ai un ptit souci avec mon programme .en somme j'ai construit une interface graphique sous glade qui utilise GTK . Dans mon interfac
Allocation de mémoire a une structure [ par KurpeusLondon ]
Bonjour, J'essaye d'initialiser des structures par un appel de fonction qui retourne l'adresse mémoire de la structure fraichement crée. Lorsque je co
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Forum
RGB2GRAYRGB2GRAY par musa18
Cliquez pour lire la suite par musa18
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|