Question

KdPrint((
         "Unknown IoControlCode %#x\n",
                io_stack->Parameters.DeviceIoControl.IoControlCode
        ));

Il est bizarre. Que signifie forte?

Était-ce utile?

La solution

La documentation printf dit:

  

Le caractère% est suivi par zéro ou plusieurs des drapeaux suivants:

     

# La valeur doit être convertie en un « « autre forme » ».   Pour o conversions, le premier caractère   de la chaîne de sortie est constitué de zéro (par   préfixer un 0 si ce n'était pas nul   déjà). Pour les conversions x et X, un   résultat non nul                 a la chaîne « 0x » (ou « 0X » pour les conversions X) préfixé   il. Pour un, A, E, E, F, F, G et G   conversions, le résultat sera toujours   contenir un point décimal, même si aucun   chiffres le suivent (normalement, une décimale   Point apparaît                 dans les résultats de ces conversions que si un chiffre suit).   Pour g et G, de fuite   zéros ne sont pas supprimés du résultat   comme ils le seraient autrement. Pour les autres   conversions, le résultat est indéfini.

documentation MSDN sur les drapeaux sont ici .

pour %#x la valeur est tout simplement préfixé avec 0x. Où %x produirait 34ab, %#x donnerait 0x34ab.

Autres conseils

printf lorsqu'il est utilisé avec spécificateur x, # provoque la sortie de être préfixé avec 0x à condition que la valeur est en cours d'impression autre que 0.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top