Programación General > C/C++

 ..:: Archivos ::..

(1/1)

Hobbit:
Hello World.

Como  trabajar con un fichero que tenga cierta estructura?

struct clientes
{
  char rut[12], nom[15], ape[30], dir[15], fono[8], email[25];
}

char linea[100];

Lo que hago por el momento es leer por linea

fgets(linea,10,file);

como lo hago para salto de linea?

Si alguien me puede ayudar estare muy agradecido.  :beer:

Martin Candurra:
Mira la funcion fgets es para trabajar con archivos de texto.
Cuando el archivo a leer tiene una estructura del tipo que mostras te conviene guardarlo y leerlo como binario.

Debrías leer sobre las funciones

ssize_t fread(void *p, size_t tamaño, size_t bloques, FILE *);
ssize_t fwrite(void *p, size_t, size_t, FILE *);

Donde tamaño debería ser = sizeof(struct clientes);
y bloques debería tomar como valor la cantidad de bloques que querés leer de una vez.
No te olvides de tener memoria reservada en p, así evitas problemas.

mabrev:
Hola:

  Otra función muy útil (al menos para mí), es fscanf, qué es muy similar al scanf, funcionando igual que ésta en cuanto a parámetros, sólo que en vez de leer de la entrada estándar, lee de un fichero.

    int fscanf(FILE *fichero, const char *formato, ...);

Saludos.

JuanK:
Tambien lo puedes hacer con fread. :devil:

Navegación

[0] Índice de Mensajes

Ir a la versión completa