Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Iesirea formatata-printf

c



+ Font mai mare | - Font mai mic



Iesirea formatata-printf

Cele doua rutine 'printf' pentru iesire si scanf pentru



intrare permit translatarea in si din reprezentarea caracterelor

a cantitatilor numerice. Ele de asemenea permit generarea sau

interpretarea liniilor formatate. Am folosit deja 'printf' in

capitolele precedente ; aici ii dam o descriere mai precisa si

complecta.

printf(control, arg1, arg2,.)

printf converteste, formateaza si tipareste argumentele sale

la iesirea standard sub controlul sirului 'control'. Sirul de

control contine doua tipuri de obiecte: caractere ordinare, care

sint simplu copiate in sirul de iesire si semnificatii de

conversie dintre care fiecare cauzeaza conversia si tiparirea a

urmatoarelor argumente succesive ale printf.

Fiecare specificatie de conversie este introdusa prin caracterul %

si incheiata printr-un caracter de conversie. Intre % si

caracterul de conversie pot fi:

Un semn minus care specifica cadrarea la stinga in cimp a

argumentului convertit.

Un sir de digiti care specifica o lungime minima a

cimpului. Numarul convertit va fi introdus in cimp la cel

putin aceasta lungime sau mai mare daca este necesr. Daca

argumentul are mai putine caractere decit dimensiunea

cimpului el va fi cadrat la dreapta sau la stinga (in

funcite de specificatie sau implicit) si va fi completatcu

zero sau spatii pina la lungimea cimpului. Caracterul de

complectare este normal blank, iar daca dimensiunea

cimpului a fost specificata prin 'leading' zero, este

zero (aceasta nu implica cimpurile octale).

O virgula, care separa lungimea cimpului de un alt sir de digiti.

Un sir de digiti (precizia), care specifica numarul maxim

de caractere acceptate dintr-un sir, sau numarul de

pozitii dupa virgula zecimala virgula flotanta si dubla

precizie.

Caracterele de conversie si semnificatiile lor sint:

d-argumentul este convertit in zecimal

o-argumentul este convertit in octal fara semn

x-argumentul este convertit in hexazecimal fara semn

u-argumentul este convertit in zecimal fara semn

c-argumentul este preluat ca un singur caracter

s-argumentul este un sir ;caracterele din sir sint introduse

pina cind este intilnit caracterul nul sau pina cind este atinsa

lungimea specificata.

e-argumentul este luat ca virgula flotanta sau dubla precizie si

convertit in notatia zecimala de forma [-]m. nnnnnnE[+sau-]XX

unde lungimea sirului de n-uri este specificata de precizie.

Precizia implicita este 6.

f-argumentul este luat ca virgula mobila sau dubla precizie si

convertit tot intr-o notatie zecimala de forma [-]mmm. nnnnnn unde

lungimea sirului de n-uri este specificat de precizie,

implicit este 6. De observat ca precizia nu determina numarul de

digiti semnificativi in formatul f.

g-foloseste % sau %l , oricare este mai scurt ; zerourile

nesemnificative nu apar. Daca caracterul de dupa % nu este

un caracter de conversie acest caracter este tiparit chiar 5

poate fi tiparit prin %%.

Cele mai multe formate de conversie sint evidente si au fost

ilustrate in capitolele precedente. oO exceptie este precizia

referitoare la siruri. Tabela urmatoare arata efectele unei

varietati de specificatii asupra sirului 'hello, world' de 12

caractere. Am pus doua puncte pentru a putea urmari mai bine

lungimea.

::%10s: :hello, world:

:5-10s: :hello, world:

:%20s: : hello, world:

:%-20s: :hello, world :

:%20. 10s: : hello, wor:

:%-20. 10 :hello, wor :

:%. 10s: :hello, wor:

Atentiune: 'printf' foloseste primul sau argument pentru a

decide cite argumente urmeaza si de ce tip. Daca nu sint

destule argumente sau de tip gresit veti obtine rezultate lipsite

de sens.

Exercitiul 7.1 Scrieti un program care tipareste diferentiat o

intrare arbitrara. Ca o conditie minima trebuie sa tipareasca

caracterele non-grafice in octal sau hexa(conform uzantelor

locale).



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 985
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved