Ho provato a testare uStringGetToken e dopo un po' che nn andava mi
son reso conto che ci siamo capiti male.
Il terzo parametro della funzione char *type non indica il tipo del
dato che vogliamo leggere ma il tipo di dato che uStringGetToken ha
letto. Del tipo che se alla posizione che si vuole leggere si trova
una stringa allora type vale un certo valore mentre se è un numero ne
vale un altro.
Viene passato il puntatore a type perchè altrimenti le modifiche a
type non verrebbero riportate all'esterno della funzione (vedi
architettura degli elab), per assegnare un valore basta fai *type = 0.
Mi permetto solo di fare una piccola modifica isNum la rinomino
uCharIsNum, diventa una macro, e la sposto in udatatype.c in più
aggiungo uCharIsChar che ritorna true se il char passato è un
carattere stampabile ('a','b', virgole, punti, parentesi,... dal 32 al
126 numeri esclusi).
Se vuoi verificare se un char è un numero o carattere basta fai if
(uCharIsNum (c)){}
|