Domanda

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

E 'strano. Che cosa significa tagliente?

È stato utile?

Soluzione

La documentazione printf dice:

  

Il carattere% è seguito da zero o più dei seguenti flag:

     

# Il valore deve essere convertito in un ‘‘forma alternativa’’.   Per o conversioni, il primo carattere   della stringa di uscita viene fatta zero (da   anteponendo un 0 se non fosse nullo   già). Per X e X conversioni, un   risultato non nullo                 ha la stringa ‘0x’ (o ‘0X’ per le conversioni X) anteporre al   esso. Per una, A, e, E, F, F, G e G   conversioni, il risultato sarà sempre   contenere un punto decimale, anche se nessuno   cifre seguono (normalmente, un decimale   appare point                 nei risultati di tali conversioni solo se una cifra segue).   Per g e G conversioni trascinamento   zeri non vengono rimossi dal risultato   come sarebbero altrimenti. Per altro   conversioni, il risultato è indefinito.

documentazione MSDN sulle bandiere sono .

Come %#x il valore viene semplicemente prefisso 0x. Dove %x produrrebbe 34ab, %#x produrrebbe 0x34ab.

Altri suggerimenti

# indcates href="http://en.wikipedia.org/wiki/Printf#printf_format_placeholders" rel="nofollow noreferrer"> un formato alternativo. Per x Ciò significa che 0x viene anteposto all'uscita.

printf quando utilizzato con specificatore x, # produce stampe essere preceduto 0x disponibile il valore in fase di stampa è diverso 0.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top