Título: Meter en una tabla datos desde un fichero (en funcion) Publicado por: muymuyperdido en 25 Diciembre 2012, 20:43 pm Buenas, mi problema está en introducir los datos de un fichero en una tabla
El fichero es del estilo 3 1 2 3 4 5 6 7 8 9 De forma que el 3 es el numero de columnas, que es lo primero que leemos y después he de leer los elementos 1 2 3 4 5 6 7 8 9 introduciendolos en una matriz de 3x3 (el programa no sabe cuantas filas hay) (Está hecho en una función) Código
Título: Re: Meter en una tabla datos desde un fichero (en funcion) Publicado por: durasno en 26 Diciembre 2012, 05:52 am Hola! en el fopen debes pasar dat1 y no dat1[N]. El bucle while me parece que esta demas; si usas i<N siempre va a iterar N veces(lo cual esta mal)... Lo que podes hacer es usar el retorno de fscanf: http://c.conclase.net/librerias/?ansifun=fscanf
De esa manera podes utilizar como corte de los for el retorno de fscanf Otra cosa te falto un "&" delante de tab1: Código Saludos PD: trata de escribir los errores q te marca el compilador Título: Re: Meter en una tabla datos desde un fichero (en funcion) Publicado por: muymuyperdido en 26 Diciembre 2012, 15:36 pm Entonces como seria el codigo para volcar un archivo en una tabla? :|
Título: Re: Meter en una tabla datos desde un fichero (en funcion) Publicado por: rir3760 en 26 Diciembre 2012, 18:19 pm * Si la apertura del archivo falla no generes el mensaje de error manualmente, deja que la función perror se encargue de ello. Por ejemplo:
Código Por cierto dales nombres descriptivos a las variables, en lugar de "ft" puedes utilizar, por ejemplo, "nom_archivo". * Debes verificar que el numero de columnas y filas leído del archivo (primer valor) sea igual o menor que la capacidad del array. Eso lo haces con una sentencia condicional "if". * No utilices la función feof para controlar un bucle, en su lugar utilizas dos bucles para leer cada uno de los valores de la matriz. El limite en ambos bucles debe ser "m". * Como ya te comentaron debes utilizar el operador "dirección de" (el '&') en la llamada a función o bien aritmética de punteros: Código
Entonces como seria el codigo para volcar un archivo en una tabla? Si juntas todo lo dicho en el tema mas un poco de iniciativa lo resuelves en poco tiempo.Un saludo Título: Re: Meter en una tabla datos desde un fichero (en funcion) Publicado por: muymuyperdido en 27 Diciembre 2012, 22:19 pm El problema es que yo conozco el numero de columnas pero no el de filas, entonces no sé como plantearlo.
Título: Re: Meter en una tabla datos desde un fichero (en funcion) Publicado por: durasno en 28 Diciembre 2012, 08:00 am Nose si leiste lo que te dije del retorno de fscanf, pero en fin mas o menos seria asi:
Código
Creo q deberia andar. Saludos Título: Re: Meter en una tabla datos desde un fichero (en funcion) Publicado por: muymuyperdido en 28 Diciembre 2012, 12:47 pm Gracias! Acabé planteandolo similar:
Código Pero aun no sé si funciona, sino me valdré del tuyo, gracias en serio!!!! Título: Re: Meter en una tabla datos desde un fichero (en funcion) Publicado por: rir3760 en 29 Diciembre 2012, 02:21 am Gracias! Acabé planteandolo similar [...] No funciona por varios errores como leer dos veces el numero de columnas, utilizar feof para controlar los bucles y utilizar 1 como primer indice de un array.Pero aun no sé si funciona Una forma correcta es: Código
Un saludo |