Programación General => C/C++ => Mensaje iniciado por: alexancoC++ en Lunes 30 de Abril de 2007, 18:46
Título: Ficheros
Publicado por: alexancoC++ en Lunes 30 de Abril de 2007, 18:46
Hola, una consulta sobre ficheros. Tengo la siguiente estructura:
Código: Text
#define N 15
#define LON 25
struct alumno
{
char Nombre[LON];
long dni;
int Edad;
};
y el siguiente vector donde guardo los alumnos:
Código: Text
alumno Clase[N];
El caso es que le paso los datos de los alumnos a dicho vector. Después de pasarle los datos, tengo que hacer una función que lea los nombres de los alumnos y los escriba en el fichero Nombre.txt. Luego los irá leyendo y imprimirá el resultado por pantalla. Mi pregunta es como tengo que hacerlo para que los lea y luego los escriba en dicho fichero? con un fscanf i fprintf? Como se debería hacer?
Muchas gracias, saludos.
Título: Re: Ficheros
Publicado por: Karman en Lunes 30 de Abril de 2007, 22:00
con fwrite y fread... te quedaría algo así:
Código: Text
structtype xname;// que sería el nombre de tu estructura...
fwrite (&xname, sizeof(xname), 1, fstream);
y para recuperar:
Código: Text
fread(&xname, sizeof(xname), 1, fstream);
S2
Título: Re: Ficheros
Publicado por: alexancoC++ en Martes 1 de Mayo de 2007, 12:10
Pero solo quiero coger de la estructura los Nombres de los alumnos, no toda entera. Quiero leer los nombres del vector i escribirlos en el fichero Nombres.txt. Luego abrir el fichero e ir leyendo e imprimiendo por pantalla el resultado de este fichero.
Gracias.
Título: Re: Ficheros
Publicado por: alexancoC++ en Martes 1 de Mayo de 2007, 12:47
Primero e pasado los nombres del vector con un for y los e escrito en el fichero con un fprintf. Luego e vuelto a abrir el fichero y lo e ido leyendo con un fscanf, mediante un while con la condición que sea diferente de EOF, y los e ido printando en pantalla.
Correcto? o algo parecido?
saludos!
Título: Re: Ficheros
Publicado por: alexancoC++ en Martes 1 de Mayo de 2007, 22:37
Para pasar a un fichero un vector de n elementos mediante un fwrite y para leerlo mediante un fread, se tiene que pasar valor por valor con un for, o no es necesario?
gracias
Título: Re: Ficheros
Publicado por: Karman en Miércoles 2 de Mayo de 2007, 03:51
no, justamente fwrite y fread sirven para escribir o leer arreglos de N elementos en un archivo, estas funciones permiten esta opción en el 3º argumento...