Sprintf () -funksjonen i C ++ brukes til å skrive en formatert streng til tegnstrengebuffer.
sprintf () prototype
int sprintf (char * buffer, const char * format,…);
Den sprintf()funksjonen skriver strengen peker til formatet til buffer. Strengformatet kan inneholde formatspesifikatorer som begynner med% som erstattes av verdiene til variabler som sendes til sprintf()funksjonen som tilleggsargumenter.
Det er definert i topptekstfilen.
sprintf () Parametere
- buffer: peker til strengbufferen for å skrive resultatet.
 - format: peker til en null avsluttet streng som skrives til filstrømmen. Den består av tegn sammen med valgfrie formatspesifikatorer som begynner med%.
Formatspesifikatorene erstattes av verdiene til respektive variabler som følger formatstrengen.
Formatspesifikatoren har følgende deler:
- Et ledende% tegn
 - Flagg: Valgfritt ett eller flere flagg som endrer konverteringsadferden.
- -: Venstre rettferdiggjør resultatet innenfor feltet. Som standard er det rettferdiggjort.
 - +: Tegn på resultatet er festet til begynnelsen av verdien, selv for positive resultater.
 - Mellomrom: Hvis det ikke er noe tegn, er et mellomrom festet til begynnelsen av resultatet.
 - #: En alternativ form for konvertering utføres.
 - 0: Den brukes til heltall og flytende nummer. Ledende nuller brukes til å putte tallene i stedet for mellomrom.
 
 - Bredde: En valgfri * eller heltallverdi som brukes til å spesifisere minimumsbreddefelt.
 - Presisjon: Et valgfritt felt som består av en. etterfulgt av * eller heltall eller ingenting for å spesifisere presisjonen.
 - Lengde: En valgfri lengdemodifikator som spesifiserer størrelsen på argumentet.
 - Spesifikator: En konverteringsformatspesifikator. De tilgjengelige formatspesifikasjonene er som følger: 
Format Spesifikator Beskrivelse % Skriver ut% c Skriver et enkelt tegn s Skriver en karakterstreng d eller i Konverterer et signert heltall til desimalrepresentasjon o Konverterer et usignert heltall til oktal representasjon X eller x Konverterer et usignert heltall til heksadesimal representasjon u Konverterer et usignert heltall til desimalrepresentasjon F eller f Konverterer flytende nummer til desimalrepresentasjonen E eller e Konverterer flytende nummer til desimaleksponentnotasjonen A eller a Konverterer flytende nummer til den heksadesimale eksponenten G eller g Konverterer flytende nummer til enten desimal- eller desimaleksponentnotasjon n Returnerer antall tegn som hittil er skrevet av denne samtalen til funksjonen. Resultatet skrives til den verdien argumentet peker på s Skriver en implementeringsdefinert tegnsekvens som definerer en peker. Så det generelle formatet til formatspesifikatoren er:
%(flags)(width)(.precision)(length)specifier 
 - …: Andre tilleggsargumenter som spesifiserer dataene som skal skrives ut. De forekommer i en sekvens i henhold til formatet.
 
sprintf () Returverdi
- Hvis det lykkes, 
sprintf()returnerer funksjonen antall tegn som ville blitt skrevet for tilstrekkelig stor buffer unntatt det avsluttende nulltegnet. - Ved feil returnerer den en negativ verdi.
 
Eksempel: Hvordan fungerer sprintf ()
 #include #include using namespace std; int main() ( char buffer(100); int retVal; char name() = "Max"; int age = 23; retVal = sprintf(buffer, "Hi, I am %s and I am %d years old", name, age); cout << buffer << endl; cout << "Number of characters written = " << retVal << endl; return 0; )
Når du kjører programmet, vil utdataene være:
Hei, jeg er Max og jeg er 23 år. Antall tegn skrevet = 34








