Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1403 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  erreur

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

erreur

n°1013018
transistor​49
Posté le 15-03-2005 à 10:40:10  profilanswer
 

Bonjour, cela fait bientot, une semaine que je me galère sur cette erreur, auour de moi, personne ne peut m'aider :fou: . Je pense que mon erreur se trouve dans le main.
ceci est mon main contenu dans le testeur:
Code:
 
   //Construction de la classe à tester
   u_char * packet;
   strcpy (packet,"af0ae5\0" );
    cout << "Construction de l'instance de classe (objet) TrameEthernet" << endl;
    TrameEthernet *trameethernet = new TrameEthernet(packet);
 
 
l'erreur se trouve a :
Code:
   strcpy (packet,"af0ae5\0" );
 
 
l'erreur etant:
 
invalid converion from `u_char*' to `char*'
 
merci de bien vouloir m'aider :hello:

mood
Publicité
Posté le 15-03-2005 à 10:40:10  profilanswer
 

n°1013024
skeye
Posté le 15-03-2005 à 10:43:35  profilanswer
 

L'erreur est pourtant claire...strcpy veut un char *, et tu lui donnes un u_char *, ça lui plait pas.[:skeye]
http://www.hmug.org/man/3/strcpy.html
 
D'autre part, je suis pas sûr que ne rien allouer à packet soit très judicieux...
 
[edit]
 
...et en C++ il y a un type std::string qui est bien pratique...


Message édité par skeye le 15-03-2005 à 10:46:36

---------------
Can't buy what I want because it's free -
n°1013032
transistor​49
Posté le 15-03-2005 à 10:50:11  profilanswer
 

Je sais bien que string est pratique mais dans la fonction qui est appeler, il n'est acepter que des u_char!!!!
c'est pour cela, que j'aimerais mettre ma trame ethernet dans se u_char!!!
j'ai essayer plusieur methode, mais cela ne marche pas!

n°1013120
Taz
bisounours-codeur
Posté le 15-03-2005 à 11:42:44  profilanswer
 

j'aurais mieux de pas lire ce topic moi

n°1015555
willynt
Posté le 17-03-2005 à 06:33:02  profilanswer
 

Bon, pour faire simple, packet est un pointeur sur une zone non allouée !
Soit tu l'alloues dans la pile avec un classique
u_char packet[256]; (enfin la taille max que tu veux)
 
Soit tu t'alloues dynamiquement ton buffer de la taille que tu veux:
u_char* packet;
packet = (u_char*)malloc( 256 );
...
free( packet );
 
voila, c'est quand meme la base :)
Bon courage et bonne chance pour la suite


Message édité par willynt le 17-03-2005 à 06:33:31
n°1015742
Joel F
Real men use unique_ptr
Posté le 17-03-2005 à 11:25:20  profilanswer
 

transistor49 a écrit :

Je sais bien que string est pratique mais dans la fonction qui est appeler, il n'est acepter que des u_char!!!!
c'est pour cela, que j'aimerais mettre ma trame ethernet dans se u_char!!!
j'ai essayer plusieur methode, mais cela ne marche pas!


 
et string::c_str() c'est pour les kangourous ouzbéques ? :o

n°1016046
mout_de_ra​isin
Posté le 17-03-2005 à 14:54:24  profilanswer
 

Joel F a écrit :

et string::c_str() c'est pour les kangourous ouzbéques ? :o

 :D  :D  :D  (faudra que je la retienne celle la !!!)

n°1016058
kowalski
Posté le 17-03-2005 à 15:06:18  profilanswer
 

willynt a écrit :

Bon, pour faire simple, packet est un pointeur sur une zone non allouée !
Soit tu l'alloues dans la pile avec un classique
u_char packet[256]; (enfin la taille max que tu veux)
 
Soit tu t'alloues dynamiquement ton buffer de la taille que tu veux:
u_char* packet;
packet = (u_char*)malloc( 256 );
...
free( packet );
 
voila, c'est quand meme la base :)
Bon courage et bonne chance pour la suite


 
Tiens toi aussi tu castes les malloc ?  :love:  :o  

n°1016069
Joel F
Real men use unique_ptr
Posté le 17-03-2005 à 15:24:33  profilanswer
 

kowalski a écrit :

Tiens toi aussi tu castes les malloc ?  :love:  :o


 
c'est la mode 2005 :o

n°1016126
willynt
Posté le 17-03-2005 à 15:48:45  profilanswer
 

Oui Messieurs, je caste les malloc...
Et ?

mood
Publicité
Posté le 17-03-2005 à 15:48:45  profilanswer
 

n°1016442
Worldofdad​a
Posté le 17-03-2005 à 18:21:47  profilanswer
 

Bah caster les mallocs ... ca supprime des erreurs de warning (sans aller trifouiller dans les options de VS ... si c'est sur VS).
 
Et de toute facon, on est en C++ ... vous connaissez malloc en C++ vous ?   :p  

n°1016633
Joel F
Real men use unique_ptr
Posté le 17-03-2005 à 21:44:06  profilanswer
 

Worldofdada a écrit :

Bah caster les mallocs ... ca supprime des erreurs de warning (sans aller trifouiller dans les options de VS ... si c'est sur VS).


 
 :sarcastic: oauis c'est quand même plus simple de faire n'impotequoi
que de lire la doc de Visual (que vous avez acheté bien sur :o)

n°1016644
printf
Baston !
Posté le 17-03-2005 à 21:51:03  profilanswer
 

Worldofdada a écrit :

Bah caster les mallocs ... ca supprime des erreurs de warning (sans aller trifouiller dans les options de VS ... si c'est sur VS).
 
Et de toute facon, on est en C++ ... vous connaissez malloc en C++ vous ?   :p


 
Concept intéressant :D


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  erreur

 

Sujets relatifs
erreur: ArrayIndexOutOfBoundsException[Delphi] idhttp : erreur ...
Encore une erreur 500Problème de LoadLibrary (erreur 2)
[ASP] Header "attached file" et erreur javascript...[PHP/MYQL] Erreur de requete
Erreur bashERREUR lancement programme depuis IDLE
[MySQL 4.0.15] SELECT imbriqués : erreur[DOM/XML/PHP] & dans texte = erreur de parsing
Plus de sujets relatifs à : erreur


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR