C ++ Sprintf

C ++ Sprintf

På programmeringsspråket C ++ vil du komme over mange konverteringer og kopiere data fra en fil eller en variabel til en annen, som konvertering fra int til streng, tegnarray til streng, etc. En lignende type konvertering vil bli diskutert her der tegnene fra formatstrengene er skrevet til bufferen. Og verdiene vil oppnås gjennom den buffervariabelen. Dette gjøres gjennom en funksjon i C ++ kjent som Sprints ().

Syntaks av Sprintf ()

# int sprintf (char* buffer, const char* variabel);

En variabel er en inngangsverdi som vi ønsker å lagre i bufferen. SPRINTF -funksjonen, når den utføres, returnerer antall tegn som er til stede i bufferen. Ellers returneres en negativ verdi. Størrelsen på bufferen er deklarert på initialiseringstidspunktet; Størrelsen skal være stor nok til å lagre en streng i den.

Implementering av Sprintf ()

For å forstå arbeidet med Sprintf, se eksemplene nedenfor som inneholder forskjellige metoder for å bruke denne funksjonen i kildekoden til C ++, slik at kompilatoren kan utføre den i Ubuntu -terminalen.

Eksempel 1

Implementeringen av SPRINTF inneholder et eksempeleksempel her. Hovedfunksjonen vil være involvert i å beregne verdien av Pi, en absolutt verdi i matematikk. For dette formålet må vi bruke matematikkbiblioteket som inneholder alle matematikkoperasjonens funksjoner. Det andre biblioteket er stdio.H, som også er en essensiell overskriftsfil som er nødvendig for å utføre ethvert C ++ -program.

#inkludere

En karaktergruppe initialiseres med en fast størrelse i hovedprogrammet. Variabelen vil bli brukt i Sprint () -funksjonen som en parameter. Siden Sprint brukes til å kopiere eller skrive den formaterte strengen til bufferen til tegnstrengen, inne i funksjonen, vil vi bruke objektgruppen til karaktervariabelen og Pi Mathematics -kalkulatoren.

# Sprint (Str, "Verdi av Pi = %F", M_PI);

Dette vil gi verdien av Pi. Bufferverdien til sprintfunksjonen brukes til å vise verdien. Som i dette eksemplet brukes STR.

Koden er samlet og utført av en kompilator av C ++, som er en G ++ kompilator. Denne kompilatoren bruker en inndatafil som har kildekoden du har lagret, en utdatafil der vi ønsker å vise resultatene ved å bruke '-o' i kommandoen.

$ g ++ -o filfil.c
$ ./fil

På utførelsen vil du se at verdien av Pi vises gjennom sprintfunksjonen.

Eksempel 2

Dette er en annen forekomst av Sprintf () -funksjonen. En karaktervariabel initialiseres for å konvertere strengen. En annen heltallstypevariabel brukes også her, som en heltallverdi tildeles. Begge variablene vil bli brukt i parameteren til sprintfunksjonen. SPRINTF -funksjonen vil skrive ut alderssetningen min, og aldersvariabelen vil bli konvertert til buffervariabelen.

# Sprintf (buffer, "min alder er %d", alder);

For å vise den konverterte verdien, vil vi vise innholdet i bufferen ved å bruke en buffer.

Når filen blir utført, vil du se at bufferen vil vise den initialiserte verdien som en heltallverdi.

Eksempel 3

Vi vil sjekke at alle elementene skal være til stede i bufferen. I hovedprogrammet opprettes to variabler av forskjellige datatyper, ett heltall og ett tegn, og blir initialisert med navn og alder. En heltallstypevariabel brukes her for tellende formål med tegn. Her vil vi skrive kombinasjonen av variablene til buffervariabler og strenger. Kombinasjonen vil bli gjort på en slik måte at en setning er skrevet i cout -setningen sammen med '%s' og '%d' -variabler; Disse to vil inneholde verdiene til både heltall- og karaktervariablene som er initialisert tidligere.

På denne måten vil både strengen og variablene bli skrevet samlet til buffervariabelen. Nå vil tellefunksjonen bli brukt med funksjonssamtalen. Det vil lagre verdien som vil bli returnert fra funksjonssprinten.

# Count = sprint (buffer, 'Jeg er %s og jeg er %d år gammel, navn, alder);

Etter funksjonen vises bufferen for å vise verdien skrevet i den. Videre har tellefunksjonen telt de totale tegnene som vil bli dannet når strengene og begge variablene kombineres. Nå skal vi utføre ovennevnte kildekode.

Du vil se at sprintfunksjonen har vist meldingen som har navn og alder innebygd i setningen. Telleren har også vist det totale antallet tegn, inkludert alle karakterene til strenger, både variablene og rommet mellom hvert ord.

Eksempel 4

Dette eksemplet fungerer på samme tilnærming som vi har brukt til det forrige eksemplet; Alle strengene i uttalelsen og variablene er kombinert med å bli skrevet i buffervariabelen. Det opprettes en karakterbuffergruppe, og størrelsen er nevnt her. To variabler av heltallstype vil lagre verdiene, og en tredje variabel vil beregne summen av verdiene som er til stede i de to variablene. Nå vil vi legge inn alle variabler i strengen.

# Sprint (buffer, "sum av %d og %d er %d", a, b, c);

Sprint -funksjonen vil bruke de tre tilfeldige variablene for å tilordne verdiene. En ting som bør beholdes i tankene er at rekkefølgen på variablene skal være den samme. Sumverdien vil bli lagret i buffervariabelen i stedet for å skrive ut gjennom stdout.

Utføre koden; Verdiene er festet med strengen gjennom sprint.

Eksempel 5

Eksemplet omhandler brukerinvolvering. I stedet for å ta variablene som input og strenguttalelsen på tidspunktet for å utføre sprinten, har vi tatt strengen som en inngang, og verdien kommer fra brukeren. En original strengkarakterer blir introdusert her som inneholder en streng. Mens en buffer også initialiseres med den spesifikke størrelsen, vil systemet be brukeren oppgi verdien i heltall; Denne verdien vil da brukes til å være innebygd med strengen vi har tatt.

Etter at verdien er lagt inn, vil dette nå bli brukt i sprintfunksjonen.

# Sprint (buffer, "%s_%d", original, n);

Både den opprinnelige uttalelsen og heltallverdien vil bli sammenkoblet gjennom understrekingen i stedet for å ha et mellomrom mellom seg. Utfør nå uttalelsen for å se resultatene.

Etter å ha lagt inn verdien av brukeren, vises uttalelsen som kombinasjonen av en streng og en heltallverdi.

Konklusjon

Sprint () -metoden lagrer den formaterte strengen i bufferen. Alle verdiene er skrevet i bufferen enten separat eller samlet. Alle disse sakene blir forklart i denne artikkelen gjennom grunnleggende eksempler implementert i C++. Verifiseringen av bufferverdien kan oppnås gjennom tellerfunksjonen som teller tegnene på strengen. Dette kan brukes på et hvilket som helst Sprint -program.