C ++ printf () - Libreria standard C ++

La funzione printf () in C ++ viene utilizzata per scrivere una stringa formattata su stdout.

prototipo printf ()

 int printf (const char * formato,…);

La printf()funzione scrive la stringa puntata da format in stdout. Il formato della stringa può contenere identificatori di formato che iniziano con% che vengono sostituiti dai valori delle variabili che vengono passati alla printf()funzione come argomenti aggiuntivi.

È definito nel file di intestazione.

parametri printf ()

  • format: puntatore a una stringa terminata da null che viene scritta nel flusso di file. Consiste di caratteri insieme a identificatori di formato opzionali che iniziano con%.

    Gli identificatori di formato vengono sostituiti dai valori delle rispettive variabili che seguono la stringa di formato.

    L'identificatore di formato ha le seguenti parti:

    • Un segno di% iniziale
    • Flag: uno o più flag opzionali che modificano il comportamento di conversione.
      • -: Giustifica a sinistra il risultato all'interno del campo. Per impostazione predefinita è giustificato a destra.
      • +: Il segno del risultato viene aggiunto all'inizio del valore, anche in caso di risultati positivi.
      • Spazio: se non è presente alcun segno, viene aggiunto uno spazio all'inizio del risultato.
      • #: Viene eseguita una forma alternativa di conversione.
      • 0: viene utilizzato per numeri interi e in virgola mobile. Gli zeri iniziali vengono utilizzati per riempire i numeri anziché lo spazio.
    • Larghezza: un valore intero * o facoltativo utilizzato per specificare il campo di larghezza minima.
    • Precisione: un campo opzionale costituito da un file. seguito da * o intero o niente per specificare la precisione.
    • Lunghezza: un modificatore di lunghezza opzionale che specifica la dimensione dell'argomento.
    • Specifier: un identificatore del formato di conversione. Gli identificatori di formato disponibili sono i seguenti:
      Identificatore di formato Descrizione
      % Stampe%
      c Scrive un singolo carattere
      S Scrive una stringa di caratteri
      do i Converte un intero con segno in una rappresentazione decimale
      o Converte un intero senza segno in una rappresentazione ottale
      X o x Converte un intero senza segno in una rappresentazione esadecimale
      u Converte un intero senza segno in una rappresentazione decimale
      F o f Converte il numero a virgola mobile nella rappresentazione decimale
      E o e Converte il numero a virgola mobile nella notazione esponente decimale
      A o a Converte il numero a virgola mobile nell'esponente esadecimale
      G o g Converte il numero a virgola mobile in notazione esponente decimale o decimale
      n Restituisce il numero di caratteri scritti finora da questa chiamata alla funzione. Il risultato viene scritto nel valore puntato dall'argomento
      p Scrive una sequenza di caratteri definita dall'implementazione che definisce un puntatore.

      Quindi il formato generale dell'identificatore di formato è: %(flags)(width)(.precision)(length)specifier

  • …: Altri argomenti aggiuntivi che specificano i dati da stampare. Si verificano in una sequenza in base all'identificatore di formato.

printf () Restituisce il valore

In caso di successo, la printf()funzione restituisce il numero di caratteri scritti. In caso di fallimento restituisce un valore negativo.

Esempio 1: come funziona la funzione printf ()

 #include int main() ( int x = 5; char my_name() = "Lincoln"; printf("x = %d ", x); printf("My name is %s ", my_name); return 0; )

Quando esegui il programma, l'output sarà:

 x = 5 Il mio nome è Lincoln

Esempio 2: altri esempi su printf ()

 #include int main() ( char ch = 'a'; float a = 5.0, b = 3.0; int x = 10; printf("%.3f / %.3f = %.3f ", a,b,a/b); printf("Setting width %*c ",5,ch); printf("Octal equivalent of %d is %o ",x,x); return 0; )

Quando esegui il programma, l'output sarà:

 5.000 / 3.000 = 1.667 L'impostazione della larghezza un equivalente ottale di 10 è 12

Articoli interessanti...