Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Niber en 5 Junio 2019, 13:36 pm



Título: C - Paso de cadenas a una funcion
Publicado por: Niber en 5 Junio 2019, 13:36 pm
Hola,  estoy haciendo un programa que recupera de un archivo los contactos de una agenda. Mi problema es el siguiente, tengo una función  que lee de un fichero los contactos que haya,  no puede abrir el fichero devuelve NULL (el fichero existe). El problema es por el paso del nombre del fichero a la función. No entiendo bien como funciona en C (en otros lenguajes se puede  declarar un string  ) Agradeceria si alguien me pudiese explicar como funciona pasar cadenas de caracteres a una función, sin saber la longitud de la cadena.

declaración función
Código:
void recuperarRegistros(Agenda **inicio,Agenda **ultimo,char const *nombreFich);
//Recupera lista de contactos de un archivo
llamada a la función desed el main
Código:
recuperarRegistros(&inicio,&ultimo,"agenda.txt");
Función para leer los registros
Código:
void recuperarRegistros(Agenda **inicio,Agenda **ultimo,char const *nombreFich)
{
Agenda nuevo;
FILE *f;

f=fopen(nombreFich,"r");

if (f==NULL)
printf("\n Error al abrir el archivo");
else
{
while (fread(&nuevo.datos,sizeof(Contacto),1,f)>0)
{
nuevo.back=NULL;
nuevo.next=NULL;
addContactoFinal(inicio,ultimo,nuevo);
}
fclose(f);
}
}




Título: Re: C - Paso de cadenas a una funcion
Publicado por: Niber en 5 Junio 2019, 21:29 pm
Después de dar vueltas, ya lo he solucionado, era un error tonto,con el nombre del archivo  ;D