Título: Archivos Publicado por: Beginner Web en 21 Noviembre 2018, 18:40 pm Hola queria saber si es viable esta forma de cerrar dos veces el archivo, esto funciona 100% pero a mi no me gusta como queda, saludos
Código
Título: Re: Archivos Publicado por: CalgaryCorpus en 21 Noviembre 2018, 18:52 pm Si cierras el archivo justo antes de llamar a la funcion consultar_usuario, que al parecer usa su contenido, no deberia poder acceder a la informacion contenida en el.
Título: Re: Archivos Publicado por: srWhiteSkull en 21 Noviembre 2018, 18:53 pm En teoría deberías meter ese fclose() al final en la condición final y no fuera. Incluso si prescindes del cierre al final funcionaría, y dependiendo de si el fichero está cerrado o no la función obra y retorna un valor que si quieres podrías comprobarlo con fines depurativos ;D
https://en.cppreference.com/w/cpp/io/c/fclose Título: Re: Archivos Publicado por: Beginner Web en 21 Noviembre 2018, 23:40 pm Bueno si, perdonen, aca dejo la funcion que vereifica si el nuevo usuario ya existe
Código
Título: Re: Archivos Publicado por: CalgaryCorpus en 22 Noviembre 2018, 02:29 am Estás cerrando el archivo 3 veces, parece.
Título: Re: Archivos Publicado por: Beginner Web en 22 Noviembre 2018, 04:49 am 2 para ser mas exactos pero se puede hacer eso o no? Porque la verdad me funciona igual ;-)
Título: Re: Archivos Publicado por: CalgaryCorpus en 22 Noviembre 2018, 05:27 am 3 fclose: registrar_usuario_nuevo tiene 2 fclose e invoca a consultar_usuario que tiene otro fclose.
No cierres el archivo si lo vas a usar otra vez. Título: Re: Archivos Publicado por: Beginner Web en 22 Noviembre 2018, 15:18 pm Haa no si 3, bueno hoy resolvere eso >:D
Título: Re: Archivos Publicado por: Beginner Web en 22 Noviembre 2018, 21:34 pm Problema resolvido :laugh:
Y lo resolvi sola, pense que alguien de aca me ayudaria pero se ve que no >:D Código
Título: Re: Archivos Publicado por: Beginner Web en 22 Noviembre 2018, 21:41 pm 3 fclose: registrar_usuario_nuevo tiene 2 fclose e invoca a consultar_usuario que tiene otro fclose. Es que hay que cerrarlo si vas a llamar a otro metodo que te hace una busqueda secuencial en el mismo bebe, saludos :laugh:No cierres el archivo si lo vas a usar otra vez. Título: Re: Archivos Publicado por: CalgaryCorpus en 22 Noviembre 2018, 22:10 pm Si haces
Código
e inmediatamente despues haces Código
que crees que pasa con el 3? Si en un programa tuvieras esto: Código
la primera linea seria completamente superflua, podrias eliminarla y el programa funcionaria igual. Esto que parece obvio se puede ocultar en el paso de parametros de una funcion. Código
Es lo mismo anterior, pero usando el paso de parametros. A i se le asigna 3 y luego se le asigna 5, no se usa el valor 3, se sobreescribe con el 5 posterior. No tiene sentido invocar f(3), si lo primero que se hace en f es ignorar lo que se pasa y usar un valor distinto. Eso estas haciendo en tus funciones que pasan como parametro una referencia a un archivo (cerrado, o no), y que lo primero que hace es reasignar la referencia a algo mas. Tu programa funcionaria igual sin poner ni pasar ese parametro, si lo pasas, no cierres el archivo, si lo cierras antes, no lo pases. En tu caso, parece que lo que corresponde es la primera opcion. Título: Re: Archivos Publicado por: Beginner Web en 23 Noviembre 2018, 00:51 am Mmmm no entendi pero me funciona de maravilla, si te pasara el programa de 600 lineas te daria cuenta lo que tengo que hacer, me falta corregir un par de modulos, cuando lo tenga terminado al programa te mando un privado y le hechas un ojo :D
Título: Re: Archivos Publicado por: Serapis en 25 Noviembre 2018, 01:31 am Citar Es que hay que cerrarlo si vas a llamar a otro metodo que te hace una busqueda secuencial en el mismo bebe, saludos No necesariamente. Basta que cambies el puntero al punto deseado, habitualmente al comienzo del fichero.Piensa que a veces es más útil utilizar varios canales para un mismo fichero, que saltar entre punteros o que andar cerrando y abriendo el mismo fichero... |