leer lineas de un fichero en c

chavi
17 de Mayo del 2005
Hola, soy principiante en la programacion y tengo varias dudas q agradeceria que me pudierais solucionar. Estoy haciendo una practica en la cual tengo q leer de las lineas de un fichero *.adf una a una y copiarlo en una estructura en los diferentes campos.El fichero es de este tipo
Ejemplo:
4 <CR>
a b <CR>
0 {0,2} <CR>
1 3 <CR>
<EOF>
Solo tengo que copiar lo q hay antes de <CR> de cada linea. El codigo que ya he programado es este:

#include <stdio.h>

typedef struct afd {int est;
char sim[20];
int estif[20];
int fun[100];}adf;



int main()
{
FILE *fichero;

fichero= fopen("*.afd" , "r");
if ( fichero == NULL )
{
printf( "No se puede abrir el fichero./n" );
exit(1)
}
while (fgetc(fichero)!="<")
{
&adf.est=fgetc(fichero);

Pero no funciona,lo copia como caracter pero lo tengo que pasar como entero. Si alguien me puede echar una mano?? Graciasss

josecode
17 de Mayo del 2005
Hola, he vuelto a leer tu pregunta y la he planteado de otra forma.

Si lo que quieres es archivar una estructura la mejor forma de hacerlo es la siguiente:

struct cliennuevo{
char datos[150];
char cif[18];
long telefono;
int provincia;
int descuento1;
long numero;
long fecha;
short iva;
short tipo;
short formapago;
char nota[80];
char email[40];
}clienn;

int mide;
long posi1;
mide =(int)sizeof(clienn);

int file;
file = open(archivo,O_RDWR | _O_BINARY);
if(lseek(file,posi1*mide,0)==-1) {close(file); return 0; };
_write(file,bufff,mide); // archiva todos los datos de la estructura a la vez
_read(file,bufff,mide); // lee todos los datos de la estructura a la vez

close(file);


josecode
17 de Mayo del 2005
te envio el ejemplo que usa msdn de microsoft, es muy bueno y cortito.

#include <stdio.h>

int main( void )
{
FILE *stream;
char line[100];

if( (stream = fopen( "crt_fgets.txt", "r" )) != NULL )
{
if( fgets( line, 100, stream ) == NULL)
printf( "fgets errorn" );
else
printf( "%s", line);
fclose( stream );
}
}