sprintf Functie in C

Sprintf Functie In C



In deze Linux Hint-tutorial bespreken we de werking van het sprintf() functie in de programmeertaal C. De sprintf() functie is vergelijkbaar met de printf() functie, maar het belangrijkste verschil is printf() functie wordt gebruikt om de string naar stdout-uitvoer te sturen. De sprintf() functie stuurt de uitvoer naar een tekenreeksvariabele in het geheugen die voor verschillende doeleinden kan worden gebruikt, waaronder verdere tekenreeksverwerking of schrijven naar een bestand of stdout.

Syntaxis van sprint() Functie in C:

In de functie sprintf() hebben we het type ”int” gedeclareerd. Er is een parameternaambuffer van het type teken dat een aanwijzer is die wordt gebruikt om de tekenreeks op te slaan in de grote buffer. Het argument *format is de tekenreeks die wordt gebruikt om de uitvoer te beschrijven.







Specificatie Gebruikt in sprintf() Functie in C

Hieronder volgen de verschillende formaatspecificaties die in de C-taal worden gebruikt om het type variabele te bepalen dat we op het uitvoerscherm willen weergeven:



Formaatspecificaties Uitleg
%d Vertegenwoordigt een geheel getal.
%f Vertegenwoordigt een vaste decimale float-waarde.
%.1f Vertegenwoordigt een waarde in drijvende komma met één cijfer voor de decimalen
%en Vertegenwoordigt een decimale float-waarde in wetenschappelijke notatie (exponentieel).
%g Vertegenwoordigt een drijvende-kommawaarde in de statische decimale of exponentiële notatie op basis van de lengte van de waarde.
%c Vertegenwoordigt karaktervariabelen.
%s Vertegenwoordigt een tekenreeks.
%p Wijst naar het adres van de aanwijzer.
%n Drukt niets af.

Geretourneerde waarde van de sprintf()-functie

Het volledige aantal afgedrukte tekens, behalve het lege teken dat aan het einde van de tekenreeks is ingevoegd, wordt teruggezet als het is gecompileerd. Als alternatief wordt een negatieve waarde geretourneerd in het geval van een storing.



Implementatie van de sprintf()-functie

Gebruik C online compiler of Dev C++ compiler voor de uitvoering van de sprintf() functie in programmeertaal C.





Voorbeeld 01:

Het volgende is de eenvoudigste illustratie om de functie van de C-programmeertaal te tonen sprintf() functie. In dit geval kunnen we door 'x' en 'y' te vermenigvuldigen de waarde van 'z' bepalen. Om te beginnen met het schrijven van ons eerste programma, moeten we de header-bestanden opnemen om het programma uit te voeren. De 'stdio.h' wordt gebruikt om de invoer van de gebruiker te krijgen en geeft de uitvoer weer na de compilatie van het programma. Het headerbestand 'stdlib.h' staat voor de standaardbibliotheek die methoden bevat voor gegevensopslag, controleactiviteiten, berekeningen en andere dingen.

Daarna zijn we begonnen met het implementeren van de hoofd() methode die dient als het begin van de implementatie van de programmacode in C. In taal C is een main een gestandaardiseerd trefwoord of methode. De hoofd() functie is de eerste methode die verantwoordelijk is voor het starten van de uitvoering van de code en vervolgens het afsluiten van het programma. De hoofd() methode heeft een 'int' retourgegevenstype dat altijd de uitvoering initieert vanuit de 'main' -functie.



Vervolgens hebben we een variabele met de naam 'x' gedeclareerd met een gegevenstype 'int', ook wel een geheel getal genoemd. De 'printf()' methode wordt aangeroepen om de tekenreeks exact weer te geven die tussen de aanhalingstekens is geschreven (d.w.z. Voer de waarde van x: in). Vervolgens moeten we de input van de gebruiker krijgen. We hebben dus gebruik gemaakt van de 'scan()' methode. In de 'scan()' methode, wordt de specificatie '%d' gebruikt om de integer-typevariabele 'x' op het scherm weer te geven. Hetzelfde als het is, we hebben de variabele 'y' gedeclareerd met gegevenstype 'int' en hebben de invoer van de gebruiker gekregen.

#include
#include

int hoofd ( )
{
int x ;
printf ( 'Voer de waarde van x in: ' ) ;
scannen ( '%d' , & x ) ;

int Y ;
printf ( 'Voer de waarde van y in: ' ) ;
scannen ( '%d' , & Y ) ;

int Met = x * Y ;
char buffer [ vijftig ] ;

sprintf ( buffer , 'De vermenigvuldiging van %d en %d is: %d' , x , Y , Met ) ;
printf ( '%s \n ' , buffer ) ;

opbrengst 0 ;
}

We hebben een andere variabele 'z' gedeclareerd die werd gebruikt om het antwoord van de vermenigvuldiging 'x * y' erin op te slaan met het gegevenstype 'int'. Nadat we alle geldige variabelen hebben gedeclareerd, hebben we een karaktertype 'buffer' gedeclareerd met een lengte van 50. Bovendien, door '%d'-specificaties te gebruiken, sprintf() methode maakt de constructie van strings mogelijk zonder onmiddellijk het resultaat van vermenigvuldiging weer te geven. Druk vervolgens de tekenreeks af die tussen dubbele aanhalingstekens is geschreven. Zet aan het einde van het programma de 0 terug op de hoofd() functie die de beëindiging van de uitvoering van het programma zal tonen

Hier is de uitvoer van de bovenstaande illustratie. Eerst moet u de waarde van 'x' en de waarde van 'y' invoeren. De sprintf() methode zou dan door de vertaler worden gebruikt om de uitkomst van het vermenigvuldigen van de twee waarden weer te geven.

Voorbeeld 02:

In deze tweede illustratie uit ons artikel hebben we de waarde van PI berekend door de omtrek en diameter van een cirkel in te voeren. Laten we beginnen met het schrijven van het programma dat de waarde van PI berekent.

Om te beginnen met het schrijven van het programma, moeten we eerst het header-bestand opnemen. In C-taal heeft het header-bestand de extensie '.h'. De headerbestanden 'stdio.h', 'stdlib' en 'math.h' zijn vereist om onze toepassing te laten werken. Het header-bestand 'stdio.h' wordt gebruikt om de invoer en uitvoer van het programma weer te geven met de preprocessor-opdracht '#include'. De primaire code voor ons programma, die we willen uitvoeren en de juiste uitvoer produceren, is geschreven in de main() body.

In de hoofdtekst van de functie main() hebben we twee 'int'-variabelen gedeclareerd, 'omtrek' en 'straal', evenals een 'zwevende' variabele die de 'diameter' is, om het oppervlak van de cirkel te bepalen. De float-waarde van 'pi' werd vervolgens opgeslagen in een extra variabele genaamd 'pi'. Ten slotte houdt de 'buffer' van het typeteken de tekenreeks vast met een lengte van 50. Tijdens het toewijzen van bronnen haalde de buffer de geschreven tekens op en koppelde ze aan een tekenreeks nadat alle variabelen waren verkregen. De hoofd() methode probeert elke variabele te begrijpen. Als de implementatie correct wordt uitgevoerd, wordt 0 geretourneerd naar de hoofd() methode.

#include
#include
#include

int hoofd ( ) {

int omtrek = 44 ;

printf ( 'De waarde van omtrek is: %d \n ' , omtrek ) ;

int straal = 7 ;

printf ( 'Om de waarde van Pi te vinden. Zoek eerst de waarde van de diameter. \n ' ) ;

vlot diameter = ( vlot ) 7 * twee ;

printf ( 'De waarde van Radius vermenigvuldigen met 2 om de waarde van diameter te krijgen. \n \n '
'De waarde van diameter is: %f \n ' , diameter ) ;

vlot pi = omtrek / diameter ;

char buffer [ vijftig ] ;
sprintf ( buffer , '%f' , pi ) ;

printf ( 'De waarde van Pi wordt opgeslagen als %s \n ' , buffer ) ;

opbrengst 0 ;
}

Na de uitvoering van het bovengenoemde codefragment konden we de waarde van 'pi' bepalen met behulp van de omtrek en diameter van de cirkel.

Conclusie

De functie sprintf() van de programmeertaal C kwam aan bod in deze Linux Hint-tutorial. We hebben het gehad over de syntaxis van de functie sprintf() en de formaatspecificaties die werden gebruikt tijdens het coderen in C om de parameter te declareren. Vervolgens, om de gebruiker te helpen begrijpen hoe de sprintf() methode werkt, hebben we twee unieke voorbeelden geïmplementeerd.