A sprint() függvény szintaxisa C-ben:
A sprintf() függvényben deklaráltuk az „int” típust. Van egy paraméternév-puffer egy típusú karakterből, amely egy mutató, amely a karakterlánc tárolására szolgál a nagy méretű pufferben. A *formátum argumentum a kimenet leírására használt karakterlánc.
A C sprintf() függvényében használt specifikációk
Az alábbiak a különböző formátum-specifikációk, amelyeket a C nyelvben használnak a kimeneti képernyőn megjeleníteni kívánt változó típusának meghatározására:
Formátummeghatározók | Magyarázat |
---|---|
%d | Egész számot jelöl. |
%f | Fix decimális lebegőértéket jelent. |
%.1f | Lebegőpontos értéket jelöl, a tizedesjegyek előtt egy számjegy található |
%és | Egy decimális lebegő értéket jelent tudományos jelölésben (exponenciális). |
%g | Lebegőpontos értéket jelent statikus decimális vagy exponenciális formátumban az érték hosszától függően. |
%c | Karakterváltozókat jelöl. |
%s | Egy karakterláncot jelöl. |
%p | A mutató címére mutat. |
%n | Nem nyomtat semmit. |
A sprintf() függvény visszaadott értéke
Sikeres fordítás esetén a teljes nyomtatott karakterszám visszaáll, kivéve a karakterlánc végére beszúrt üres karaktert. Alternatív megoldásként hiba esetén negatív értéket ad vissza.
A sprintf() függvény megvalósítása
Használja a C online fordítót vagy a Dev C++ fordítót a végrehajtásához sprintf() funkció C programozási nyelven.
01. példa:
A következő a legegyszerűbb illusztráció a C programozási nyelv funkciójának bemutatására sprintf() funkció. Ebben az esetben „x” és „y” szorzásával meghatározhatjuk „z” értékét. Az első programunk írásának megkezdéséhez a program végrehajtásához tartalmaznunk kell a fejléc fájlokat. Az „stdio.h” arra szolgál, hogy megkapja a bemenetet a felhasználótól, és a program fordítása után megjeleníti a kimenetet. Az „stdlib.h” fejlécfájl a szabványos könyvtárat jelenti, amely adattárolási, vezérlési, számítási és egyéb módszereket tartalmaz.
Ezután megkezdtük a megvalósítását fő() metódus, amely a programkód implementációjának kezdeteként szolgál C nyelven. A C nyelvben a main egy szabványos kulcsszó vagy metódus. Az fő() A funkció az első módszer, amely elindítja a kód végrehajtását, majd leállítja a programot. Az fő() metódusnak van egy „int” visszatérési adattípusa, amely mindig a „main” függvényből kezdeményezi a végrehajtást.
Ezután deklaráltunk egy „x” nevű változót „int” adattípussal, amelyet egész számként ismerünk. Az 'printf()' metódus hívja meg, hogy pontosan az idézőjelbe írt karakterláncot jelenítse meg (azaz adja meg az x értékét:). Ezután a felhasználótól kell megkapnunk a bemenetet. Tehát használtuk a 'scanf()' módszer. Ban,-ben 'scanf()' metódus esetén a „%d” specifikátor az „x” egész típusú változóhoz használható a képernyőn való megjelenítéshez. Ugyanúgy, ahogy van, deklaráltuk az „y” változót „int” adattípussal, és megkaptuk a bemenetet a felhasználótól.
#include#include
int fő- ( )
{
int x ;
printf ( 'Írja be x értékét:' ) ;
scanf ( '%d' , & x ) ;
int Y ;
printf ( 'Írja be az y értékét:' ) ;
scanf ( '%d' , & Y ) ;
int Val vel = x * Y ;
char puffer [ ötven ] ;
sprintf ( puffer , '%d és %d szorzása: %d' , x , Y , Val vel ) ;
printf ( '%s \n ' , puffer ) ;
Visszatérés 0 ;
}
Deklaráltunk egy másik „z” változót, amely az „x * y” szorzás válaszát tárolta benne „int” adattípussal. Az összes érvényes változó deklarálása után deklaráltunk egy 50 hosszúságú „puffer” karaktertípust. Továbbá a „%d” specifikátorok használatával a sprintf() metódus lehetővé teszi karakterláncok felépítését anélkül, hogy azonnal megjelenítené a szorzás eredményét. Ezután nyomtassa ki a dupla idézőjelbe írt karakterláncot. A program végén adja vissza a 0-t a fő() függvény, amely a program végrehajtásának befejezését mutatja
Íme a fenti illusztráció kimenete. Először meg kell adnia az „x” és az „y” értékét. Az sprintf() metódust használná a fordító a két érték szorzásának eredményének megjelenítésére.
02. példa:
Cikkünk második illusztrációjában a PI értékét egy kör kerületének és átmérőjének megadásával számítottuk ki. Kezdjük el írni azt a programot, amely kiszámolja a PI értékét.
A program írásának megkezdéséhez először bele kell foglalnunk a fejlécfájlt. C nyelven a fejléc fájl kiterjesztése „.h”. Az „stdio.h”, „stdlib” és „math.h” fejlécfájlok szükségesek az alkalmazásunk futtatásához. Az „stdio.h” fejléc a program be- és kimenetének megjelenítésére szolgál a „#include” előfeldolgozó direktívával. A programunk elsődleges kódja, amelyet végrehajtani és a megfelelő kimenetet előállítani, a main() törzsbe van írva.
A main() függvénytörzsben deklaráltunk két „int” változót, a „circumference” és „radius”, valamint egy „float” változót, amely az „átmérő” a kör felületének meghatározására. A „pi” lebegőértékét ezután egy további „pi” változóba mentettük. Végül a típuskarakter „puffere” 50 hosszúságú karakterláncot tárol. Az erőforrások lefoglalása közben a puffer lekérte a megírt karaktereket, és az összes változó beszerzése után egy karakterlánchoz csatolta őket. Az fő() metódus megpróbálja megérteni az egyes változókat. Ha a megvalósítást helyesen hajtják végre, akkor 0-t ad vissza a fő() módszer.
#include#include
#include
int fő- ( ) {
int körméret = 44 ;
printf ( 'A kerület értéke: %d \n ' , körméret ) ;
int sugár = 7 ;
printf ( 'A Pi értékének megállapításához. Először is keresse meg az átmérő értékét. \n ' ) ;
úszó átmérő = ( úszó ) 7 * két ;
printf ( 'A sugár értékét 2-vel megszorozva megkapjuk az átmérő értékét. \n \n '
'Az átmérő értéke: %f \n ' , átmérő ) ;
úszó pi = körméret / átmérő ;
char puffer [ ötven ] ;
sprintf ( puffer , '%f' , pi ) ;
printf ( 'A Pi értéke %s formában van tárolva \n ' , puffer ) ;
Visszatérés 0 ;
}
A fent említett kódrészlet végrehajtását követően a kör kerülete és átmérője alapján meg tudtuk határozni a „pi” értékét.
Következtetés
Ebben a Linux Hint oktatóanyagban a C programozási nyelv sprintf() függvényével foglalkoztunk. Beszéltünk a sprintf() függvény szintaxisáról és a formátum-specifikátorokról, amelyeket a C-ben használt kódolás során használtunk a paraméter deklarálására. Ezután, hogy segítsen a felhasználónak megérteni, hogyan a sprintf() módszer működik, két egyedi példát valósítottunk meg.