Capitolul 7.5. Conversii de format in memorie
:: Programare :: C & C++ :: Capitolul 7
Pagina 1 din 1
Capitolul 7.5. Conversii de format in memorie
Functiile scanf si printf au corespondente functiile sscanf si sprintf care executa aceleasi tipuri de conversii, dar care opereazza asupra unui sir nu asupra unui fisier. Formatul general este:
sprintf(string, control, arg1, arg2,...)
sscanf(string, control, arg1, arg2,...)
sprintf formateaza argumentele arg1, arg2, etc, conform sirului "control" ca mai inainte, dar plaseaza rezultatele in "string" in loc de iesirea standard. Desigur "string" trebuie sa fie suficient de mare pentru a primi rezultatul. Ca exemplu, daca "name" este un tablou de caractere si n este un intreg, atunci:
sprintf(name, "temp%d", n);
creaza un sir de forma tempnnn in "name", unde nnn este valoarea lui n.
sscanf face conversia inversa -imparte sirul "string" conform formatului din "control" si plaseaza valorile rezultate in arg1, arg2, etc. Aceste argumente trebuie sa fie pointeri. Astfel: sscanf(name, "temp%d", @n); n la valoarea digitilor din sir care urmeaza dupa temp in "name".
Exercitiul 7.2. Rescrieti exemplul de calculator din capitolul 4 utilizind scanf si/sau sscanf pentru a face intrarea si conversia numerelor.
sprintf(string, control, arg1, arg2,...)
sscanf(string, control, arg1, arg2,...)
sprintf formateaza argumentele arg1, arg2, etc, conform sirului "control" ca mai inainte, dar plaseaza rezultatele in "string" in loc de iesirea standard. Desigur "string" trebuie sa fie suficient de mare pentru a primi rezultatul. Ca exemplu, daca "name" este un tablou de caractere si n este un intreg, atunci:
sprintf(name, "temp%d", n);
creaza un sir de forma tempnnn in "name", unde nnn este valoarea lui n.
sscanf face conversia inversa -imparte sirul "string" conform formatului din "control" si plaseaza valorile rezultate in arg1, arg2, etc. Aceste argumente trebuie sa fie pointeri. Astfel: sscanf(name, "temp%d", @n); n la valoarea digitilor din sir care urmeaza dupa temp in "name".
Exercitiul 7.2. Rescrieti exemplul de calculator din capitolul 4 utilizind scanf si/sau sscanf pentru a face intrarea si conversia numerelor.
Subiecte similare
» Capitolul 2.7. Conversii de tip
» Capitolul 3.2.IF-ELSE
» Capitolul 3.3. ELSE-IF
» Capitolul 3.5. WHILE si FOR
» Capitolul 1.1. Pornirea
» Capitolul 3.2.IF-ELSE
» Capitolul 3.3. ELSE-IF
» Capitolul 3.5. WHILE si FOR
» Capitolul 1.1. Pornirea
:: Programare :: C & C++ :: Capitolul 7
Pagina 1 din 1
Permisiunile acestui forum:
Nu puteti raspunde la subiectele acestui forum
|
|