C++ Academy · leksjon

Formatere utdata med iomanip

Styr bredde, presisjon, justering og tallbaser ved hjelp av toppteksten iomanip.

Leksjon 2 av 413 trinn

Formatere utdata med iomanip er en gratis leksjon i C++ Academy på CoddyKit. Dette er leksjon 2 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i C++ Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i C++ Academy inneholder totalt 4 leksjoner.

iomanip-headeren

Headeren <iomanip> tilbyr manipulatorer – spesielle objekter som sendes til cout for å endre formateringstilstanden.

std::setw: Feltbredde

std::setw(n) angir minimumsbredden for bare det neste feltet. Kortere verdier fylles ut.

#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: Utfyllingstegn

Som standard fyller setw ut med mellomrom. Endre utfyllingstegnet med setfill – innstillingen blir stående.

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

std::left og std::right

Juster tekst i et setw-felt. Standardinnstillingen er høyrejustering.

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

std::setprecision

Kontroller antallet signifikante sifre eller, sammen med std::fixed, antallet desimalplasser.

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

Bytt mellom tallformater med std::fixed, std::scientific og std::hexfloat.

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

Tallbaser for heltall: hex oct dec

Skriv ut heltall i forskjellige baser. std::showbase legger til prefikset (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

Skriv ut boolske verdier som ord i stedet for 1/0.

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

Manipulatorer blir stående

De fleste manipulatorer fortsetter å gjelde til de endres. setw er et unntak – den gjelder bare for det neste feltet.

std::quoted for sikre strenger

std::quoted fra <iomanip> omslutter en streng med doble anførselstegn og gjør innebygde anførselstegn til escape-sekvenser. Perfekt for logglinjer.

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

C++20 std::format

Moderne C++20 erstatter det meste av bruken av iomanip med std::format – et printf-lignende API som er typesikkert.

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

Hurtigsjekk

Hvilken manipulator må brukes på nytt for hvert utdatafelt?

Oppsummering

<iomanip> tilbyr manipulatorer for bredde, presisjon, justering, base og anførselstegn. setw gjelder per felt, mens alt annet blir stående. I C++20 bør De foretrekke std::format for renere formatering.

Gratis å komme i gang

Lær deg C++ med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
51
Leksjoner
203

Ofte stilte spørsmål

Er leksjonen «Formatere utdata med iomanip» gratis?

Ja – du kan lese valgfritt 3 av leksjonene i læringsstien C++ Academy, inkludert «Formatere utdata med iomanip», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i C++ Academy inneholder totalt 4 leksjoner.

Hva lærer jeg i «Formatere utdata med iomanip»?

Styr bredde, presisjon, justering og tallbaser ved hjelp av toppteksten iomanip. Du øver på C++ Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med C++ Academy?

Ingen tidligere erfaring er nødvendig. C++ Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 2 av 4.

Hvor lang tid tar leksjonen «Formatere utdata med iomanip»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne C++ Academy-leksjonen?

Ja. Alle C++ Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Bruke std::cin og std::cout riktig
  2. Formatere utdata med iomanip
  3. Trygg innlesing med getline
  4. Arbeid med std::cerr og std::clog
← Tilbake til C++ Academy