Formatează șirul
Această intrare sau secțiune despre limbaje de programare nu menționează sursele necesare sau cei prezenți sunt insuficienți . |
Un „ șir de format ” în limba engleză este un șir de caractere care conține text simplu și / sau reguli pentru conversia valorilor din cod în text lizibil pentru om.
Programare (ANSI C)
Șirurile de format sunt utilizate pe scară largă în programare, în special în limbajul C, unde le găsim în zeci de funcții standard , cum ar fi:
- printf () și derivate precum fprintf (), sprintf (), vprintf () etc.
- syslog ()
- perror ()
Compoziţie
Compoziția unui șir de format implică utilizarea unei funcții de format și a unui text care urmează să fie redat:
printf ("valoarea VAR este =% d \ n", var);
în acest caz funcția format este printf () iar șirul format este „valoarea VAR este =% d \ n” . Acesta din urmă este compus dintr-un text și unul sau mai mulți parametri (care se disting prin semnul%) pentru a fi convertiți în ASCII , acești parametri ne pot oferi valori diferite, de la numere simple, până la șiruri de caractere, până la pozițiile de memorie. Printre cele mai utilizate avem:
Parametru | Valoare returnată | Tipul de date |
---|---|---|
% d | numar decimal | int |
% u | număr zecimal pozitiv | nesemnat int |
%sau | număr octal | nesemnat int |
% X | număr hexazecimal | nesemnat int |
% s | șir de caractere | char * |
% n | număr zecimal relativ la octeții din șirul de format scris înainte de solicitarea parametrului |
Mecanismul de funcționare
Procesele pentru elaborarea unui șir de format prevăd salvarea șirului (și a oricăror parametri) în Stack (prin utilizarea instrucțiunii de asamblare push ) de către funcția care apelează funcția de formatare.
Odată ce controlul procesului i-a fost trecut, această ultimă funcție va prelua pur și simplu (folosind instrucțiunea pop asamblare) șirul de format salvat anterior în stivă, apoi îl va interpreta și va prelua (numai dacă este prezent) elementele care urmează să fie convertite (identificate prin caracterul%).
Astfel, obținem o schemă de patru pași de bază (în plus față de doi opționali):
- stocarea oricăror parametri în stivă ( push )
- salvarea în stivă a poziției în memorie care conține șirul de format ( push )
- apel la funcția Format ( apel )
- preluați din teancul șirului de format ( pop )
- analiza aceluiași
- retragerea posibilă a parametrilor (numai dacă este prezentă)