Buenas tardes a todos, veréis, tengo una pequeña duda, a ver si alguien sabe decirme.
Resulta que tengo un programita en el que quiero procesar un fichero de texto con dos campos separados por dos puntos, similar a esto:
nirvana:nevermind
nirvana:unplugged
...
Cada campo quiero guardarlo en un atributo de un objeto que me creo.
El caso es que lo hago, y me funciona, pero quiero suponer que hay alguna manera más facil de hacerlo, y no sé si alguno me puede resolver la duda. Os mando el código -la parte importante- (funciona):
main()
{
int contador=0;
int tot_discos=0;
disco *a_discos[10];
rellenar_discos( a_discos,&contador, &tot_discos);
//Continua...
}
void rellenar_discos(disco *a_discos[100], int *contador, int *tot_discos)
{
FILE *f;
char c=' ';
int i=0;
char grupo[80],titulo[80];
f=fopen("discos.txt","r");
c=getc(f);
while (c!='\n' && !feof(f))
{
a_discos[*tot_discos]=new disco;
while (c!=':' && !feof(f))
{
grupo[i]=c;
i++;
c=getc(f);
}
grupo[i]='\0';
i=0;
c=getc(f);
while (c!='\n' && !feof(f))
{
titulo[i]=c;
i++;
c=getc(f);
}
titulo[i]='\0';
i=0;
c=getc(f);
a_discos[*tot_discos]->insertar(*contador,grupo,titulo);
a_discos[*tot_discos]->mostrar();
*contador=*contador+1;
*tot_discos=*tot_discos+1;
}
}