[C con Clase] Guardar cada línea en arrays independientes

Salvador Pozo salvador en conclase.net
Jue Mar 1 16:47:36 CET 2018


El pasado 2018-03-01 14:02:41, LauraC escribió:
 
L> Buenos días y muchas gracias por la respuesta!
L> Agregué al código la parte en azul, pero el programa ya no ejecuta y en
L> cambio me arroja el siguiente error:
L> "C:\Users\usuario\Desktop\collect2.exe [Error]
L> ld returned 1 exit status" . No estoy segura si esto tiene que ver con el
L> hecho de que las filas del txt no tienen la misma longitud, es decir
L> mientras una linea contiene 4 datos, la siguiente almacena 14. Yo había
L> hecho ya una prueba agregando 0 manualmente para completar las filas y
L> darles igual tamaño y funcionó bastante bien, pero será muy engorroso al
L> aplicar el programa en archivos de mayor contenido.

Hola:

Sin saber el formato concreto del fichero no es fácil averiguar por qué deja de funcionar tu programa.
En principio, si cada línea tiene 80 o menos caracteres debería funcionar.

El único error que puedo encontrar está en esta línea:
L> fseek(fichero,0L,SEEK_CUR);

Esto no modifica la posición de lectura en el fichero, ya que indicas un desplazamiento de cero caracteres sobre la posición actual "SEEK_CUR", si quieres volver al principio del fichero tienes que usar el valor "SEEK_SET".

L> Si dado el caso debo agregar ceros para completar las líneas de menor
L> tamaño, me podrías indicar de qué manera encontrar la línea de mayor tamaño
L> y su longitud?.

No es necesario añadir nada, el segundo parámetro de la función fgets indica el tamaño máximo de caracteres que se leeran, pero si hay menos sólo leerá hasta el final de la línea.

Hasta pronto.

-- 
Salvador Pozo (Administrador)
mailto:salvador en conclase.net
Blog con Clase: http://blogconclase.wordpress.com
Con Clase: http://conclase.net


Más información sobre la lista de distribución Cconclase