Necesito de su ayuda, tengo una función que recibe una clave DNI, y va a buscar en un archivo con registros de longitud fija.
Si logra encontrar un registro que tenga ese DNI deve devolver una copia de ese registro, entonces ¿que debería de poner en lugar de esos NULL para el caso de que no se encuentre el registro? ¿Que tengo que devolver?
Código
Record searchRecord(char* nameFile, char* DNI) { FILE* fd; { return NULL; } else { struct Header header; struct Record tmp; { { struct Record data = tmp; return data; } } } return NULL; }
Gracias por su tiempo.
El compilador tambien me da una alerta en esta linea .
Código:
while(fread(&tmp,recordLength, 1, fd) != NULL)
warning: comparison between pointer and integer [enabled by default]|
Segun lo poco que entiendo, NULL se usa cuando trabajamos con punteros y fread devuelve un entero, pero no tengo idea que ponerle en lugar de NULL para evitar esos warnings.
Támbien estuve viendo que
fread el primer parámetro es un puntero. Creo eso no me cuesta nada crearlo para trabajar como se debe
http://www.cplusplus.com/reference/cstdio/fread/
En fin, creo que me resulta hacer que devuelve un puntero de tipo Record.
No quería hacerlo, porque tenia la idea que solo necesito mostrar el registro y no editarlo XD pero que tonto, aunque mande un puntero y se llegase a modificar, el archivo sigue igual