C standard library :: tillæg

Formateret output

Bruges af forskellige funktioner til at konvertere data fra et intern format til et for mennesker læsbart format. Således bruges formateret output oftest til udskrifter. Du giver en format string som værdien for __format til funktionen, den angiver hvorledes du ønsker data repræsenteret.

Funktioner falder i to kategorier:

byte output (erklæret ved <stdio.h>) er konvertering af data til præsentationer af sekvenser af typen char, funktioner er fprintf, printf, sprintf, vfprintf, vprintf og vsprintf. For disse funktioner er format string en multibyte string som begynder og slutter i initial_shift_state.

wide output (erklæret ved <whar.h>) konverterer data til præsentationer af sekvenser af typen wchar_t, funktioner er fwprintf, swprintf, wprintf vfprintf, vsprintf og vwprintf. For disse funktioner er format string en wide-character string.

Format string

En format string har det samme format uanset om den anvendes til print funktioner eller scan funktioner. Følgende er syntaksen for format string:

format string

Format string er en streng der kan blandes med tekst til og værdier der skal formateres inden i teksten. Formateringen indledes med tegnet % og en formatspecifier som beskrives nedenstående. White space er et udtryk for tegn der ikke er synlige, som mellemrum, tabulator og nylinie. null er den generelle måde at afslutte strenge på i C, kaldes null-terminated string.

Formatspecifier

Efter % bruges nedenstående syntaks til at specificere konverteringen:

formatspecifier

Flag

Efter % kan der bruges 0 eller flere flags:

Tegn Beskrivelse
- Resultatet af konverteringen vil blive ventrejusteret, hvis dette flaget er udeladt højrejusteres.
+ Resultatet vil altid have et minus eller plus tegn foran. Hvis dette flag udelades vil der kun blive et minustegn hvis resultatet er negativt.
space Hvis det første tegn af en konvertering ikke giver et tegn indsættes et mellemrum.
# Dette angiver et alternativ form. Med o konvertering bliver der altid et foranstillet nul, med x og X konverteringer indsættes 0x eller (0X) hvis resultatet er ikke-nul. For e, E, f, g og G konverteringerne bliver altid med decimalpunktum selvom er ingen cifre er efter decimalpunktummet.
0 Til d, i, n, o, u, x, X, e, E, f, g og G konverteringerne bliver feltbredden justeret med nuller lige efter et evt. fortegn.

Field width

Hvis output er smallere en feltbredden indsættes mellemrum, hvis intet er angivet i flag indsættes mellemrum til venstre for output, hvorved output højrestilles. Feltbredden kan antage * (beskrives senere) eller et heltal.

Precision

Evt. en precision som er minimum antal cifre for d, i, n, o, u, x og X konverteringer, eller decimaler til a, A, e, E eller f konverteringerne, det maksimale antal cifre for g og G konverteringerne eller det maksimale antal tegn for en streng s konvertering. Precision tager formen med et punktum (.) efterfulgt af * (beskrives senere) eller et heltal. Hvis der ikke angives noget efter punktum antages nul istedet.

*: Som angivet kan man bruge * istedet for et tal til feltbredde eller precision, i sådanne situationer skal der en ekstra parameter på hvor tallet kan hentes.

Formatspecifier

Skal passe sammen med datatypen.

Tegn Parm. Beskrivelse
d, i int Decimal heltal med fortegn i et [-]dddd format. Precision angiver minimum antal cifre, hvis resultatet består af færre cifre vil der fyldes op med foranstillede nuller.
o int Octal tal uden fortegn.
x, X int Hexadecimal tal uden fortegn eller 0x eller 0X foran. Bruger bogstaverne abcdef eller ABCDEF.
u int Decimal heltal uden fortegn. Precision angiver minimum antal cifre, hvis resultatet består af færre cifre vil der fyldes op med foranstillede nuller.
s char * Printer tegn fra tekststrengen indtil \0 eller antal tegn givet med precision.
c int, char Printer et tegn.
a, A double Decimal tal med fortegn og decimalpunktum vist i hexadecimal notation efter format [-]0Xd.dddp±mm. Antallet af cifre efter punktummet er identisk med precision. Første ciffer er enten 0 eller 1, hvis 1 vises i hex bits efter den første bit. Mantissen (mm) viser bitnummeret for mest betydende bit startende fra bit0.
f, F double Decimal tal med fortegn og decimalpunktum efter format [-]ddd.ddd. Antallet af cifre efter decimalpunktummet er identisk med precision.
e, E double Konverteres til et eksponentielt noteret decimaltal efter format [-]m.dddddde±xx. Antallet af cifre d efter decimalpunktummet er identisk med precision men er default 6.
Eks. 1e+3=1*103=1000 og 1.0045e+3=1,0045*103=1004,5 og 1e-1=1*10-1=0,1
g, G double Konverteres til et decimaltal efter enten f eller e,E formatet. Hvilken afgøres efter hvad der passer bedst ind i feltbredden.
%   Giver % som output

 

 

 

sideskift(); ?>
Ressourcer
Hvorfor GoogleKirkerne.dk har denne forklaring på hvorfor du skal bruge Google til søgning. WebguruFordyb dig i webguruen Jacob Nielsen's hjemmeside om godt webdesign.
Produkter WebdesignFå et professionelt webdesign til dine hjemmesider. Bliv fundetOptimér dine hjemmesider til søgemaskiner. Søgeord Find de rigtige søgeord til dine hjemmesider. VisitkortStart din præsentation på Internet med et visitkort. Styr selv Styr selv indholdet på dine hjemmesider med Content Management System. HelpdeskEffektiviser dine support-organisation med et Helpdesksystem.
Citat
Husk på at stor kærlighed og store bedrifter kræver store risici.

Dalai Lama



Professionelle løsninger til Internettet. Webdesign, e-handel, cms, søgeoptimering, webhotel, analyse, Intranet mm.