Forskjell mellom versjoner av «C-basics»

Fra mn/ifi/INF1060
Hopp til: navigasjon, søk
(Ny side: == Utskrift til skjerm == For å skrive til skjermen brukes metoden ''printf''. Denne metoden brukes litt anderledes enn System.out.println i Java. Den tar et variabelt antall argumenter, …)
 
(Ingen forskjell)

Nåværende revisjon fra 1. sep. 2010 kl. 23:46

Utskrift til skjerm

For å skrive til skjermen brukes metoden printf. Denne metoden brukes litt anderledes enn System.out.println i Java. Den tar et variabelt antall argumenter, hvor først argument alltid er en string.

printf("Dette skrives ut på skjermen\n");

Denne stringen kalles format-stringen, og kan inneholde ulike tegn som angir hva slags argumenter som kommer senere:

int tall = 10;
printf("Dette er et tall:%d\n", tall);

Her brukes %d for å angi at det kommer et argument etter format-stringen som i eksempelet overfor er et heltall.

Det er ingen grense for hvor mange argumenter som kan angis.

char *text = "Eksempel på et desimaltall:";
float desimaltall = 3.14;
int heltall = 10;
printf("%s %f og et heltall i hex-format:%x\n", text, desimaltall, heltall);	

Merk at man må angi linjeskift selv med '\n'.

Det er fullt mulig å kalle printf uten format-string slik:

char *text = "Dette er en tekst";
printf(text);

...den vil da tolke stringen som sendes inn som format-stringen, og hvis denne stringen tilfeldigvis inneholder format-tegn vil den anta at det finnes flere argumenter. Å kalle printf uten format-string kan utgjøre en sikkerhetsrisiko og er strengt forbudt!

Mer informasjon finnes på man-siden til printf.