Asignaciones de punteros
Hola, buenos días. Tengo un pequeño problema con un programa de C. Este es el código donde da dicho problema:
fread(lib,sizeof(struct TAG_LIBRO),1,f);
lAux = (struct LISTA_LIBRO *)malloc(sizeof (struct LISTA_LIBRO));
lAux->libro.titulo = lib-> titulo;
lAux->libro.autor = lib-> autor;
lAux->libro.ejemplares = lib-> ejemplares;
lAux->sig=NULL;
lAux es un puntero de tipo LISTA_LIBRO y lib de tipo TAG_LIBRO, que son:
#define MAX_TITULO 80
#define MAX_AUTOR 50
struct TAG_LIBRO
{
char titulo [MAX_TITULO];
char autor [MAX_AUTOR];
int ejemplares;
};
struct LISTA_LIBRO
{
struct TAG_LIBRO libro;
struct LISTA_LIBRO *sig;
};
El error lo da en las líneas de las siguientes asginaciones (Lvalue required in function cargaLibros):
lAux->libro.titulo = lib->titulo;
lAux->libro.autor = lib->autor;
¿Cómo lo puedo solucionar? Muchas gracias
fread(lib,sizeof(struct TAG_LIBRO),1,f);
lAux = (struct LISTA_LIBRO *)malloc(sizeof (struct LISTA_LIBRO));
lAux->libro.titulo = lib-> titulo;
lAux->libro.autor = lib-> autor;
lAux->libro.ejemplares = lib-> ejemplares;
lAux->sig=NULL;
lAux es un puntero de tipo LISTA_LIBRO y lib de tipo TAG_LIBRO, que son:
#define MAX_TITULO 80
#define MAX_AUTOR 50
struct TAG_LIBRO
{
char titulo [MAX_TITULO];
char autor [MAX_AUTOR];
int ejemplares;
};
struct LISTA_LIBRO
{
struct TAG_LIBRO libro;
struct LISTA_LIBRO *sig;
};
El error lo da en las líneas de las siguientes asginaciones (Lvalue required in function cargaLibros):
lAux->libro.titulo = lib->titulo;
lAux->libro.autor = lib->autor;
¿Cómo lo puedo solucionar? Muchas gracias
2 respuestas
Respuesta de homeguatlla
1
Respuesta
-1