C standard library :: stdio
snprintf - Skriv formateret output til s med maks. maxlen antal tegn.
Denne funktion udskriver formateret output til strengen s, antal tegn begrænses til maksimum maxlen antal tegn, formatet styres af format sammen med de ekstra parametre der vedhæftes. Hvis maxlen er 0 udskrives ingenting til s. Der vil altid blive føjet et nul-tegn til strengen.
[XSI] Med format kan bruges enten nummerede parametre, det er et prefix til et element i formatstrengen som peger et nummereret parameter ud, eller der kan bruges unummerede parameter i format. De kan ikke blandes, enten anvendes nummerede eller unummerede. Nummerede parametere i format bruges ved prefix "%n$", hvor n er nummeret. på N'te parameteres startende med parameter 1. Som et resultat med nummerede parametre kan den samme parameter udskrives flere gange, det kan ikke lade sig gøre med unummerede parametre.
Returværdi
Returnerer antallet af tegn der udskrives eller et negativt talt hvis der opstod en fejl.
Fejl
- [EAGAIN]
- [CX] O_NONBLOCK flaget er sat for file descriptor bagom stream og tråden skal vente i en skrive operation.
- [EBADF]
- [CX] File descriptor bagom stream er ikke en valid file descriptor åben for skrivning.
- [EFBIG]
- [CX] Et forsøg på at skrive til en fil der overstiger systemets maksimum for filstørrelse.
- [EFBIG]
- [XSI] Et forsøg på at skrive til en fil der overstiger processens maksimum for filstørrelse.
- [EFBIG]
- [CX] Filen er en almindelig fil og et forsøg på at skrive på eller udover offset maksimum.
- [EINTR]
- [CX] Skriveoperationen blev stoppet grundet modtagelsen af et signal og ingen data er derved overført.
- [EIO]
- [CX] En fysisk I/O fejl opstod, eller processen er et medlem af en baggrunds processgruppe der forsøger at skrive til den kontrollerende terminal, TOSTOP er sat, processen hverken ignorerer eller blokerer ikke SIGTTOU, og processgruppen er uden parent process. Fejlen kan også returneres af system specikikke implementeringer
- [ENOSPC]
- [CX] Der ikke er mere fri plads tilgængelig på den device hvor filen er placeret.
- [EPIPE]
- [CX] En wide-character kode korresponderer ikke til et valid tegn.
- [EILSEQ]
- [XSI] Et forsøg på at skrive til en pipe eller FIFO som ikke er åben for læsning af nogen process. Et SIGPIPE signal sendes også til tråden.
- [EINVAL]
- [XSI] Der er ikke tilstrækkelige antal parametre.
- [ENOMEM]
- [XSI][CX] Ikke nok memory tilgængelig.
Eksempel
Anvendelse af unummerede parametre:
Vil udskrive
[XSI] Anvendelse af nummerede parametre:
Vil udskrive