Título: Problema al utilizar archivos en C Publicado por: alejandro_gsw en 6 Abril 2016, 14:00 pm Hola buenas,
Soy nuevo en el foro y tenía un problemilla con un programa. Tengo dos archivos, el primero donde esta el main y el otro donde tengo el archivo con el texto que me tiene que leer, en este caso son DNI. El problema viene cuando quieres meter el DNI y no te reconoce lo que hay dentro del archivo, además quiero que cuando meta el DNI si no está en el texto del archivo DNIList.txt que lo añada. Os dejo por aquí el código a ver si podéis ver algo que este mal o si me podéis echar un cable ;D. También podéis ver que para que lleve a abrir el archivo DNIList se comprueba que el DNI tenga un formato correcto. Citar Código
Y este es el fichero DNIList (Los DNI son inventados :rolleyes:) Citar 94025635W 84220350P 40103636P Z0893943F 65292343N 42972192G X7942365M Y9872602G 11622852D 71438118A Y0884005Z X0652947T 24901532F 19910859N 67501492B 50482351L Muchísimas gracias :D Título: Re: Problema al utilizar archivos en C Publicado por: AlbertoBSD en 6 Abril 2016, 14:40 pm buen dia.
veo que lee el archivo pero no veo que cargue contenido en la memoria. Usa El Code=c para poner tu codigo. Ya que es dificil leerlo asi Título: Re: Problema al utilizar archivos en C Publicado por: alejandro_gsw en 6 Abril 2016, 17:13 pm ¡Editado!
Como se puede cargar un archivo en la memoria, ahora mismo no caigo ;D Título: Re: Problema al utilizar archivos en C Publicado por: AlbertoBSD en 6 Abril 2016, 17:28 pm Código
Esta funcion hace lo siguiente: Abrir el archivo Lee un renglon Lo guarda en una variable local Lee el siguiente renglon. y asi sucesivamente Mas nunca guarda la variable locan el el arreglo global que tiene. Código
Al parecer es un buffer que solo tiene espacio para 116 DNI. El como pasar la variable local al buffer global es tu tarea. Sugerencias usar memcpy hacer un ciclo manual y copiar byte por byte. Cambiar el buffer estatico por memoria dinamica. Traducir del frances al español jajajajaja Otra observacion importante el programa es vulnerable a buffer overflow. si el renglon leido desde el archivo es de mayor tamaño a BUFSIZ entonces escribira en las variables continuas del programa y causara un segment fault |