Formatere utdata med iomanip
Styr bredde, presisjon, justering og tallbaser ved hjelp av toppteksten iomanip.
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;
// 0042std::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.14Fixed 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.678900Tallbaser 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"; // 1Manipulatorer 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.
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
- Bruke std::cin og std::cout riktig
- Formatere utdata med iomanip
- Trygg innlesing med getline
- Arbeid med std::cerr og std::clog