Autor Tema: Guardar datos de un fichero en un vector  (Leído 3259 veces)

Desconectado Zahira

  • Member
  • ***
  • Mensajes: 486
    • http://usuarios.lycos.es/foreromaniacos
Guardar datos de un fichero en un vector
« en: 03 de Septiembre de 2004, 08:53:59 am »
Hola!!
A ver si sé explicar esta dudilla.
En un programa que me digan que existe un fichero "datos.txt2, en el que cada registro del fichero es la componente de un vector(es decir, cada componente del vector en una línea), y me piden que guarde esas componentes en v[n], habiendo pedido antes al usuarios que introduzca la dimensión n. A mi...se me ocurre una cosa así, pero...es que...el tema de trabajar con ficheros lo llevo muy mal, a ver si alguien me dice si es correcto, y sino, como sería(por fi, sin complicarlo mucho que aun soy novatilla con C):
#include<stdio.h>
void main()
{
int n, v[n];
printf("introduce la dimensión del vector\n");
scanf("%d", &n);
v=fopen("datos.txt", "r");
}

Ummm, seguro que esto no tiene ningun sentido, no?

Desconectado BuHo

  • Pro Member
  • ****
  • Mensajes: 733
    • La Estancia Azul
Guardar datos de un fichero en un vector
« Respuesta #1 en: 03 de Septiembre de 2004, 02:10:10 pm »
Pues no, la verdad es que mucho sentido no tiene, porque fopen() te devuelve un stream, no lo que tu quieras, en este caso, un entero.

Mas o menos, deberias:

Abrir el fichero para lectura.
Iterar sobre el fichero para que cuando llegue a N, pare.
Dentro de cada iteracion, coger la linea con alguna funcion de lectura de ficheros y guardarla en la posicion correspondiente del vector. Se me ocurre que uses fgets(), que lee linea a linea o hasta que encuentre un EOF y guarda lo que lee en un buffer.

La cabecera de la funcion es:

char *fgets(char *s, int tam, FILE *flujo);

Y la especificacion de la funcion segun el manual de linux es:


Citar
fgets() lee como mucho uno menos de tam  caracteres  del  flujo  y  los
       guarda  en  el búfer al que apunte s.  La lectura se para tras un EOF o
       una nueva-línea. Si se lee una nueva-línea, se guarda en el búfer. Tras
       el último carácter en el búfer se guarda un ’\0’



Cerrar el fichero.
Salir.

Dificil dificil, no es mucho...
Wake up BuHo...
Daboweb has you[/color]
Mi blog: La Estancia Azul

Desconectado Zahira

  • Member
  • ***
  • Mensajes: 486
    • http://usuarios.lycos.es/foreromaniacos
Guardar datos de un fichero en un vector
« Respuesta #2 en: 08 de Septiembre de 2004, 10:39:22 am »
Ok, muchas gracias, ya sabia yo que tanta sensillez....
Cuando tenga un momento lo intento y si me quedan dudas ya me pasaré a preguntar, que será lo más seguro porque...ando un poco perdida
Gracias y saludos

 

Aviso Legal | Política de Privacidad | Política de Cookies

el contenido de la web se rige bajo licencia
Creative Commons License