PDA

View Full Version : [C] problema notazione fscanf


h1jack3r
15-06-2004, 16:45
Ciao mi sapete dire cosa vuol dire in C una notazione del genere?

fscanf(fp2,"%[^;]%*c",a->codice);

è tutto ok tranne il formato %, non capisco a cosa serve quello che c'è dentro le
quadre e il * davanti alla c.
Illuminatemi...

maxithron
15-06-2004, 18:40
[...] char * -- In questo caso ti accetterà solo gli eventuali caratteri che elencherai nelle parentesi-

[^...] char * -- In questo caso accetterà solo i caratteri che NON sono elencati nelle parentesi.


*c (char *) -- In questo caso, nella dimensione per la stringa, non aggiunge nessun terminatore \0. Vuol dire che se non dai tu l'argomento della grandezza, verrà letto un unico carattere.

h1jack3r
15-06-2004, 19:02
perciò nel mio caso se ad esempio sul file ho una riga


Questa è la stringa 1 ; questa è la due


cosa mi prende in input la fscanf di prima? cosa mi copia in a-->codice?
solo un carattere o tutta la riga fino al ; ?

h1jack3r
15-06-2004, 19:06
Questi operatori valgono anche con le altre funzioni di input? come fgets, scanf, sscanf..?