Problema con malloc
Publicado por agustin (522 intervenciones) el 20/11/2015 08:35:53
Hola amigos, tengo un problema al reservar memoria e intentar rellenarla. Este es el trozo de codigo:
El problema que tengo es con el modo de reservar la memoria y luego escribir en ella. Se que lo estoy haciendo mal porque da una excepcion al intentar escribir en NULL pero no se como hacerlo bien.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#define SIZE 10
...
...
char *lista[SIZE];
int nPalabras;
srand(time(NULL));
ObtenerListaInicial("4_Letras.txt",lista,&nPalabras);
...
...
int ObtenerListaInicial(char *nameFile,char *palabra[SIZE],int *nElementos)
{
int i=0,retval,posPalabra;
FILE *archivo;
archivo=fopen(nameFile,"rb");
if(archivo != NULL){
fseek(archivo,0,SEEK_END);
*nElementos=ftell(archivo)/SIZE;
palabra=malloc(*nElementos*sizeof(char*));
if(palabra != NULL){
fseek(archivo,0,SEEK_SET);
do{
retval=fread(palabra[i],SIZE,1,archivo);
if(retval != 1)
break;
i++;
}while(!feof(archivo));
}
fclose(archivo);
}else{
retval=-1;
}
return retval;
}
El problema que tengo es con el modo de reservar la memoria y luego escribir en ella. Se que lo estoy haciendo mal porque da una excepcion al intentar escribir en NULL pero no se como hacerlo bien.
Valora esta pregunta


0