void read_file_to_concesionario(const char *file, struct concesionario *con) { FILE *f; struct coche *c1; char dueno[50], matricula[50], gama[50]; char buffer[100]; char id[5]; int br = 0; int max_coches = 0; f = fopen(file, "r"); if (f == NULL) { printf("No se pudo leer el archivo %s\n", file); return; } br = nextAttr(f, dueno); curso_concesionario_attr_set_str(con, CURSO_CONCESIONARIO_ATTR_DUENO, dueno); while (max_coches < 10) { c1 = curso_coche_alloc(); br = nextAttr(f, id); curso_coche_attr_set_u32(c1, CURSO_COCHE_ATTR_ID, atoi(id)); br = nextAttr(f, matricula); curso_coche_attr_set_str(c1, CURSO_COCHE_ATTR_MATRICULA, matricula); br = nextAttr(f, gama); curso_coche_attr_set_str(c1, CURSO_COCHE_ATTR_MARCA, gama); if (br < 1) { curso_coche_free(c1); break; } curso_concesionario_attr_set_coche(con, CURSO_CONCESIONARIO_ATTR_COCHE, c1); max_coches++; } rewind(f); if (fclose(f) == EOF){ printf("No se pudo cerrar el archivo %s\n", file); return; } }
void print_attrs( Entity ent ) { const orderedAttr * oa; const char * dashes="--------------------------------------------------------------------------"; printf( "Entity %s\n%s\n%s\n%s\n", ent->symbol.name, dashes, " In P21? | attr name | creator | detail", dashes ); orderedAttrsInit( ent ); while( 0 != ( oa = nextAttr() ) ) { describeAttr( oa ); } orderedAttrsCleanup(); }