C++ Academy · Lezione

Formattazione dell'output con iomanip

Controlli larghezza, precisione, allineamento e basi numeriche usando l'header iomanip

Lezione 2 di 413 passaggi

Formattazione dell'output con iomanip è una lezione C++ Academy gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento C++ Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso C++ Academy include 4 lezioni in totale.

L'header iomanip

L'header <iomanip> fornisce i manipolatori, oggetti speciali che vengono inseriti in cout per modificarne lo stato di formattazione.

std::setw: larghezza del campo

std::setw(n) imposta la larghezza minima solo per il campo successivo. I valori più corti vengono riempiti.

#include <iomanip>
std::cout << std::setw(10) << "Name" << std::setw(5) << "Age\n";
std::cout << std::setw(10) << "Ada"  << std::setw(5) << 36 << "\n";

std::setfill: carattere di riempimento

Per impostazione predefinita, setw riempie con spazi. Modifichi il carattere di riempimento con setfill: questa impostazione rimane attiva.

std::cout << std::setfill('0') << std::setw(4) << 42;
// 0042

std::left e std::right

Allineano il testo all'interno di un campo setw. Per impostazione predefinita, il testo è allineato a destra.

std::cout << std::left << std::setw(10) << "Ada" << "|\n";
std::cout << std::right << std::setw(10) << "Ada" << "|\n";

std::setprecision

Controlla il numero di cifre significative oppure, insieme a std::fixed, il numero di cifre decimali.

double pi = 3.14159265;
std::cout << std::setprecision(4) << pi << "\n";  // 3.142
std::cout << std::fixed << std::setprecision(2) << pi; // 3.14

Fixed Scientific Hexfloat

Passi da un formato numerico all'altro con std::fixed, std::scientific e std::hexfloat.

double x = 12345.6789;
std::cout << std::scientific << x << "\n"; // 1.234568e+04
std::cout << std::fixed << x << "\n";      // 12345.678900

Basi per gli interi: hex oct dec

Stampi gli interi in basi diverse. std::showbase aggiunge il prefisso (0x, 0).

int n = 255;
std::cout << std::hex << n << "\n";  // ff
std::cout << std::oct << n << "\n";  // 377
std::cout << std::dec << n << "\n";  // 255 (default)

std::boolalpha

Stampa i valori booleani come parole invece di 1/0.

std::cout << std::boolalpha << true << "\n";  // true
std::cout << std::noboolalpha << true << "\n"; // 1

I manipolatori rimangono attivi

La maggior parte dei manipolatori rimane attiva finché non viene modificata. setw fa eccezione: si applica solo al campo successivo.

std::quoted per stringhe sicure

std::quoted dell'header <iomanip> racchiude una stringa tra virgolette doppie ed esegue l'escape delle virgolette incluse. È perfetto per le righe di log.

std::string name = "Ada \"Countess\"";
std::cout << std::quoted(name);
// "Ada \"Countess\""

C++20 std::format

Il moderno C++20 sostituisce la maggior parte degli utilizzi di iomanip con std::format, un'API in stile printf che garantisce la sicurezza dei tipi.

#include <format>
std::cout << std::format("{:>10} | {:.2f}\n", "pi", 3.14159);

Verifica rapida

Quale manipolatore deve essere riapplicato per ogni campo dell'output?

Riepilogo

<iomanip> offre manipolatori per larghezza, precisione, allineamento, base e virgolette. setw si applica a ogni singolo campo; tutti gli altri rimangono attivi. In C++20, preferisca std::format per una formattazione più chiara.

Gratis per iniziare

Impara C++ con un tutor IA — gratis

Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.

Corsi
51
Lezioni
203

Domande Frequenti

La lezione «Formattazione dell'output con iomanip» è gratuita?

Sì — il testo completo di «Formattazione dell'output con iomanip» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso C++ Academy, passa a CoddyKit PRO. Il corso C++ Academy include 4 lezioni in totale.

Cosa imparerò in «Formattazione dell'output con iomanip»?

Controlli larghezza, precisione, allineamento e basi numeriche usando l'header iomanip Eserciti C++ Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare C++ Academy?

Non è richiesta alcuna esperienza precedente. C++ Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.

Quanto tempo richiede la lezione «Formattazione dell'output con iomanip»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione C++ Academy?

Sì. Ogni lezione C++ Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Uso corretto di std::cin e std::cout
  2. Formattazione dell'output con iomanip
  3. Lettura sicura dell'input con getline
  4. Utilizzo di std::cerr e std::clog
← Torna a C++ Academy