CARS
|
Implementazione delle funzioni definite nell'header file stringparser.h. More...
#include <string.h>
#include <ctype.h>
#include <stdlib.h>
#include "stringparser.h"
#include "macros.h"
#include "dgraph.h"
Functions | |
static bool_t | is_double (char *label) |
static bool_t | is_correct_label (char *label) |
bool_t | is_correct_labelarray (unsigned int array_size, char **label_array) |
Utilizzo mediante le espressioni regolari. | |
bool_t | str_pars (char *e, char *origin, char *destin, double *km) |
Implementazione delle funzioni definite nell'header file stringparser.h.
static bool_t is_correct_label | ( | char * | label | ) | [static] |
Funzione static che controlla se una label contiene solo carattere alfanumerici o spazi
[in] | label | la stringa da controllare |
TRUE | se la stringa e' un double |
FALSE | altrimenti |
References FALSE, LLABEL, and TRUE.
Referenced by is_correct_labelarray(), and str_pars().
bool_t is_correct_labelarray | ( | unsigned int | array_size, |
char ** | label_array | ||
) |
Utilizzo mediante le espressioni regolari.
Se si setta la macro REG_EXPR_MODE, la correttezza di un arco viene effettuata mediante l'esecuzione delle espressioni regolari.
Tale funzione e' inserita solo a scopo didattico, e pertanto se ne sconsiglia l'uso, dato che rende piu' pesante l'elaborazione delle stringhe. verifica se l'array di nody passato, e' un array corretto di etichette
array_size | dimensione dell'array |
label_array | array di etichette |
TRUE | se l'array e' un array di etichette valide |
FALSE | se l'array non e' un array di etichette valide |
References FALSE, is_correct_label(), and TRUE.
Referenced by new_graph().
static bool_t is_double | ( | char * | label | ) | [static] |
Funzione static che controlla se la stringa passata e' un double
[in] | label | la stringa da controllare |
TRUE | se la stringa e' un double |
FALSE | altrimenti |
References FALSE, LKM, and TRUE.
Referenced by str_pars().
bool_t str_pars | ( | char * | e, |
char * | origin, | ||
char * | destin, | ||
double * | km | ||
) |
verifica se la stringa relativa all'arco e' corretta
e | stringa relativa all'arco, del tipo "PARTENZA:ARRIVO:123.456" |
origin | buffer dove verra' scritta l'etichetta della citta di partenza |
destin | buffer dove verra' scritta l'etichetta della citta di destinazione |
km | puntatore ad una variabile double, dove verra' scritta la distanza |
TRUE | se la stringa e' un arco valido |
FALSE | se si e' verificato un errore |
References FALSE, is_correct_label(), is_double(), LLABEL, MALLOC_ERRNO, and TRUE.
Referenced by add_edge().