From: Davide Z. <dav...@gm...> - 2009-08-07 11:27:39
|
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)){} |