Funkcija sprintf v C

Funkcija Sprintf V C



V tej vadnici z namigi za Linux bomo razpravljali o delovanju sprintf() funkcijo v programskem jeziku C. The sprintf() funkcija je podobna printf() funkcijo, vendar je glavna razlika printf() funkcija se uporablja za pošiljanje niza v izhod stdout. The sprintf() funkcija usmerja izhod v nizovno spremenljivko v pomnilniku, ki se lahko uporablja za različne namene, vključno z nadaljnjo obdelavo nizov ali pisanjem v datoteko ali stdout.

Sintaksa funkcije sprint() v C:

V funkciji sprintf() smo deklarirali tip 'int'. Obstaja vmesni pomnilnik imena parametra znaka tipa, ki je kazalec, ki se uporablja za shranjevanje znakovnega niza v medpomnilnik velike velikosti. Argument *format je niz, ki se uporablja za opis izhoda.







Specifikatorji, uporabljeni v funkciji sprintf() v C

Sledijo različni specifikatorji formata, ki se uporabljajo v jeziku C za določanje vrste spremenljivke, ki jo želimo prikazati na izhodnem zaslonu:



Specifikatorji formata Razlaga
%d Predstavlja celo število.
%f Predstavlja fiksno decimalno plavajočo vrednost.
%.1f Predstavlja vrednost v plavajoči vejici z eno števko pred decimalkami
% in Predstavlja decimalno plavajočo vrednost v znanstvenem zapisu (eksponentno).
%g Predstavlja vrednost s plavajočo vejico v statični decimalni ali eksponentni obliki glede na dolžino vrednosti.
%c Predstavlja znakovne spremenljivke.
%s Predstavlja niz znakov.
%p Kaže na naslov kazalca.
%n Nič ne natisne.

Vrnjena vrednost funkcije sprintf().

Celotno število natisnjenih znakov, razen praznega znaka, vstavljenega na koncu niza, se razveljavi, če je uspešno prevedeno. Druga možnost je, da se v primeru napake vrne negativna vrednost.



Implementacija funkcije sprintf().

Uporabite spletni prevajalnik C ali prevajalnik Dev C++ za izvedbo sprintf() funkcijo v programskem jeziku C.





Primer 01:

Sledi najpreprostejša ilustracija, ki prikazuje delovanje programskega jezika C sprintf() funkcijo. V tem primeru lahko z množenjem 'x' in 'y' določimo vrednost 'z'. Da začnemo pisati naš prvi program, moramo vključiti datoteke glave za izvajanje programa. »stdio.h« se uporablja za pridobivanje vnosa od uporabnika in prikaže izhod po prevajanju programa. Datoteka glave 'stdlib.h' pomeni standardno knjižnico, ki vsebuje metode za shranjevanje podatkov, nadzorne dejavnosti, izračune in druge stvari.

Nato smo začeli izvajati glavni () metoda, ki služi kot začetek implementacije programske kode v C. V jeziku C je main standardizirana ključna beseda ali metoda. The glavni () funkcija je prva metoda, zadolžena za zagon izvajanja kode in nato zaustavitev programa. The glavni () metoda ima vrnjeni podatkovni tip 'int', ki vedno sproži izvajanje iz 'glavne' funkcije.



Nato smo deklarirali spremenljivko z imenom 'x' s podatkovnim tipom 'int', znanim kot celo število. The 'printf()' metoda se kliče za prikaz niza, točno tistega, ki je bil zapisan v narekovajih (tj. Vnesite vrednost x:). Nato moramo pridobiti vnos od uporabnika. Uporabili smo torej “scanf()” metoda. V “scanf()” metode se specifikator »%d« uporablja za spremenljivko tipa celega števila »x«, ki se prikaže na zaslonu. Tako kot je, spremenljivko 'y' smo deklarirali s podatkovnim tipom 'int' in prejeli vnos od uporabnika.

#include
#include

int glavni ( )
{
int x ;
printf ( 'Vnesite vrednost x:' ) ;
scanf ( '%d' , & x ) ;

int Y ;
printf ( 'Vnesite vrednost y:' ) ;
scanf ( '%d' , & Y ) ;

int z = x * Y ;
char medpomnilnik [ petdeset ] ;

sprintf ( medpomnilnik , 'Množenje %d in %d je: %d' , x , Y , z ) ;
printf ( '%s \n ' , medpomnilnik ) ;

vrnitev 0 ;
}

Razglasili smo še eno spremenljivko »z«, ki je bila uporabljena za shranjevanje odgovora množenja »x * y« vanjo s podatkovnim tipom »int«. Ko smo deklarirali vse veljavne spremenljivke, smo deklarirali tip znaka »buffer« dolžine 50. Poleg tega z uporabo specifikatorjev »%d« sprintf() metoda omogoča konstrukcijo nizov brez takojšnjega prikaza rezultata množenja. Nato natisnite niz znakov, ki je bil zapisan v dvojnih narekovajih. Na koncu programa vrnite 0 na glavni () funkcijo, ki bo prikazala prekinitev izvajanja programa

Tukaj je rezultat zgornje ilustracije. Najprej morate vnesti vrednost 'x' in vrednost 'y'. The sprintf() metodo bi nato prevajalec uporabil za prikaz rezultata množenja obeh vrednosti.

Primer 02:

V tej drugi ilustraciji iz našega članka smo izračunali vrednost PI z vnosom obsega in premera kroga. Začnimo pisati program, ki bo izračunal vrednost PI.

Za začetek pisanja programa moramo najprej vključiti datoteko glave. V jeziku C ima datoteka glave pripono '.h'. Za delovanje naše aplikacije so potrebne datoteke glave »stdio.h«, »stdlib« in »math.h«. Datoteka glave 'stdio.h' se uporablja za prikaz vhoda in izhoda programa z direktivo predprocesorja '#include'. Primarna koda za naš program, ki ga nameravamo izvesti in ustvariti ustrezen izhod, je zapisana v telesu main().

V telesu funkcije main() smo deklarirali dve spremenljivki »int«, »circumference« in »radius«, kot tudi spremenljivko »float«, ki je »premer«, da določimo površino kroga. Vrednost s plavajočo vrednostjo 'pi' je bila nato shranjena v dodatni spremenljivki, imenovani 'pi'. Nazadnje, »medpomnilnik« znaka tipa drži niz z uporabo dolžine 50. Med dodeljevanjem virov je medpomnilnik pridobival znake, ki so bili napisani, in jih prilagal nizu, potem ko je pridobil vse spremenljivke. The glavni () metoda poskuša razumeti vsako spremenljivko. Če je implementacija izvedena pravilno, bo nato vrnila 0 v glavni () metoda.

#include
#include
#include

int glavni ( ) {

int obseg = 44 ;

printf ( 'Vrednost obsega je: %d \n ' , obseg ) ;

int polmer = 7 ;

printf ( 'Če želite najti vrednost Pi. Najprej poiščite vrednost premera. \n ' ) ;

lebdi premer = ( lebdi ) 7 * dva ;

printf ( 'Pomnožimo vrednost polmera z 2, da dobimo vrednost premera. \n \n '
'Vrednost premera je: %f \n ' , premer ) ;

lebdi pi = obseg / premer ;

char medpomnilnik [ petdeset ] ;
sprintf ( medpomnilnik , '%f' , pi ) ;

printf ( 'Vrednost Pi je shranjena kot %s \n ' , medpomnilnik ) ;

vrnitev 0 ;
}

Po izvedbi zgoraj omenjenega delčka kode smo lahko določili vrednost 'pi' z uporabo obsega in premera kroga.

Zaključek

Funkcija sprintf() programskega jezika C je bila obravnavana v tej vadnici z namigi za Linux. Govorili smo o sintaksi funkcije sprintf() in specifikatorjih formata, ki so bili uporabljeni med kodiranjem v C za deklaracijo parametra. Nato, da bi uporabniku pomagal razumeti, kako sprintf() metoda deluje, smo implementirali dva edinstvena primera.