IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

void * et cast unsigned short


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 41
    Par défaut void * et cast unsigned short
    Bonjour,

    Je cherche à travailler avec des données qui sont un paramètre void * d'une fonction, mais je n'arrive pas à faire une affectation avec un type unsigned short. Comme puis-je caster ça correctement ?

    Edit : je m'auto-répond :

    Si on oublie de pointer la donnée, ça ne peut pas marche, forcément.
    Désolé du dérangement.

    Je suis sous linux 2.6.13 et je compile avec gcc sous cygwin.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    ssize_t read( int fd, void *buf, size_t count ) {
    ssize_t ret;
     
    	ret = hook._read( fd, buf, count );
    	printf("read response to [0x%04X] at fd=%d", (unsigned short)(*(int *)buf), fd); /* Ca, ça marche */
    	if ((unsigned short)(*(int *)buf) == 0xFFFF) { /* Ca, ça marche */
    		((char *)buf)[0] = '\0'; /* Ca, ça marche */
    		((char *)buf)[1] = '\1'; /* Ca, ça marche */
    		((unsigned short *)buf) = 0x0023; /* Ca plante */
    		(* (unsigned short *)buf) = 0x0023; /* Ca, ça marche */
    	}
    }
    Merci pour votre aide par avance.

  2. #2
    Membre très actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2010
    Messages
    254
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2010
    Messages : 254
    Par défaut
    Petite question qui n'as rien à voir avec ton problème:
    Si tu est sous linux, pourquoi utilise tu cygwin qui est un émulateur de linux pour windows? Pour coder sous linux, tout ce dont tu as besoin est: un éditeur (emacs, vim, gedit...), d'un compilo (apparemment tu en a déja un) et un terminal (qui est disponible par défaut).

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. afficher de unsigned short en hexa?
    Par lykim1982 dans le forum C
    Réponses: 2
    Dernier message: 23/05/2007, 17h51
  2. convertir unsigned short
    Par jonny dans le forum C
    Réponses: 7
    Dernier message: 06/06/2006, 15h46
  3. [MFC] pb de conversion CString en unsigned short
    Par kanabzh29 dans le forum MFC
    Réponses: 5
    Dernier message: 04/05/2006, 10h29
  4. Réponses: 5
    Dernier message: 22/03/2006, 13h25
  5. Unsigned Short
    Par Higestromm dans le forum Langage
    Réponses: 2
    Dernier message: 21/02/2006, 17h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo