Warning a la compil

Warning a la compil - C - Programmation

Marsh Posté le 04-03-2004 à 12:44:04    


 
warning: cast to pointer from integer of different size
 
a cette ligne

Code :
  1. sprintf(tmp, "%d" ,(char *)(ntohs(serv.sin_port)));


 
avec les declarations suivantes :  
 

Code :
  1. struct sockaddr_in serv;
  2. char tmp[1024];


 
Est ce parce que tmp et ce que je veux mettre dedans ont pas la meme taille?
dois - je obligatoirement faire un malloc de tmp avec la taille de ce que je veux y mettre?
 
Merci

Reply

Marsh Posté le 04-03-2004 à 12:44:04   

Reply

Marsh Posté le 04-03-2004 à 12:46:58    

"%d" ,(char *)
 
oui ?

Reply

Marsh Posté le 04-03-2004 à 12:52:51    

oups  "%s" ,(char *)  merci :) (completement la honte la)
De tout de faocn ca fait pareil.
nan ce que je veux faire en fait c convertir le port qui est en u_short en char*
j'avais cru comprendre  que c ce que fait sprintf .. mais g toujours le meme warning..

Reply

Marsh Posté le 04-03-2004 à 12:53:54    

et c'est %d c'est le format pour les int pas pour les short :D
 
ben t'utilises la mauvaise fonction, prends l'inverse

Reply

Marsh Posté le 04-03-2004 à 12:54:32    

cad?

Reply

Marsh Posté le 08-03-2004 à 14:54:20    

sprintf(tmp, "%u", ntohs(serv.sin_port));
 
/edit: typo


Message édité par merlin-boa le 08-03-2004 à 15:00:32
Reply

Marsh Posté le 08-03-2004 à 15:13:53    

et le h :o

Reply

Marsh Posté le 08-03-2004 à 15:29:23    

Pas nécessaire dans le cas présent.
Mais sinon oui %hu ou %hd.

Reply

Marsh Posté le 08-03-2004 à 15:44:02    


C'est pour le signe ?  :??:

Reply

Marsh Posté le 08-03-2004 à 16:05:37    

non, c'est le modificateur pour short.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed