I denne artikkelen vil vi forklare syntaks, parametere, returverdier og arbeid av snPrintf () funksjon i c++. Man kan finne en fullstendig forståelse av snPrintf () I denne guiden.
Hva er snprintf () i c++
I c++, snPrintf () er en funksjon som brukes til å formatere eller lagre en serie karakter- og strengverdier skrevet til bufferen. Det fungerer på samme måte som Sprintf () funksjon, men den har muligheten til å overvinne overløp av buffer. De overskriftsfil inkluderer snprint () funksjon og det må erklæres hvis du vil bruke funksjonen i programmet ditt. De snPrintf () Funksjon spesifiserer det maksimale innholdet som bufferen kan ha.
Det gitt nedenfor er syntaksen som skal brukes snPrintf () Funksjon i C ++:
snprintf (char* buffer, størrelse_t buf_size, const char* format, ...);
Når karakterene er skrevet, settes en slutt nullkarakter. Hvis max_bufSize er null, lagres ingenting og bufferen kan fungere som en nullpeker.
Parametere av snPrintf ()
Følgende er parametrene som brukes i snPrintf () funksjon.
Det skal være minimum så mange slike parametere som det er formatspesifikatorverdier. Funksjonen ignorerer ethvert tilleggsargument.
Hva kommer snPrintf () tilbake
Hvis funksjonen er vellykket, returnerer den antall tegn som vil bli ansett som skrevet for en passende stor buffer, unntatt en avsluttende nullkarakter. Når den mislykkes, gir det en negativ verdi. Utgangen vil bli ansett som fullstendig skrevet hvis og bare hvis en verdi som returneres er ikke -negativ og er mindre enn max_bufSize.
Hvordan du bruker snprintf () i c++
Her er et eksempel på å bruke snprintf () i C ++:
Eksempel
#inkludere
#inkludere
ved hjelp av navneområdet STD;
int main ()
char buff_size [60];
int return_value, max_bufSize = 60;
char str [] = "linuxhint";
int -artikler = 45;
return_value = snprintf (buff_size, max_bufsize, "hallo %s brukere, la oss lese %d artikler om bash", str, artikler);
if (return_value> 0 && return_value < MAX_BUFSIZE)
cout << buff_size << endl;
cout << "Number of characters written = " << return_Value << endl;
ellers
cout << "Error writing to buffer" << endl;
retur 0;
I koden ovenfor setter vi maksimal størrelsen på bufferen til 60. Det betyr at koden vil godta tegn ikke mer enn 60. Vi har brukt snPrintf () Funksjon for å sende ut en streng som har 56 tegn, og den vises på utgangsterminalen. I tilfelle de angitte tegnene er mer enn 60, vil programmet gjennom en feil.
Konklusjon
Vi har demonstrert prototypen, parametere, returverdier og arbeid av C++ snPrintf () funksjon som skriver en formatert streng til en tegnstrengbuffer. Vi beskrev et eksempel med en fullstendig forståelse av snPrintf () I denne guiden.