c++ scanf

Uite.. ca dupa ce am aflat cate ceva nou despre printf, a ajuns si randul lui scanf. In primul rand vreau sa zic ca specificatorii de format pentru aceste functii sunt diferiti. Ce stiam pana acum era doar sa citesc un int/float/char/string si respectiv adaptam aceste cunostinte la cerere practice pe care le intilneam in programarea de zi cu zi. :)

1. Un specificator auxiliar este * despre care documentatia zice astfel :

An optional ‘*’ assignment-suppression character: scanf() reads input as directed by the conversion specification, but discards the input. No corresponding pointer argument is required, and this specification is not included in the count of successful assignments returned by scanf().

deci, se poate utiliza atunci cand nu avem nevoie efectiv de valoare campului respectiv. Posibil va intrebati de ce nu am avea nevoie de asa informatii, dar, un caz practic ar fi parsarea stringurilor specificate in RFC-uri din care este nevoie doar de anumite campuri.

#include <stdio.h>
#include <string.h>

int main (int argc, const char * argv[])
{
	char hello[] = "Hello, world!";
	char rez[20];

	//memset( rez, 0, sizeof( rez ) );
	sscanf( hello, "%*s %s", rez );
	printf( "%s\n", rez );

	return 0;
}

output :

Continue reading c++ scanf