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. 23223j97x 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 exempolu, 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.