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
2

2 Respuestas

17.075 pts.
Veamos... así a primera vista, lo que yo haría es presumiblemente, allocar memoria para el puntero lib.
Luego, quizá... un strcpy, en lugar de una asignación de títulos y autores.
Creo que básicamente con lo primero tendría que bastar.
Sino, me comentas...
0 pts.
Para poder responder a tu pregunta necesitaría tener el código completo, o al menos aquellas funciones y/o procedimientos dónde pueda estar el problema.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas