Muchas gracias a los dos, pero mas o menos con la idea i con los apuntes q tengo he hecho esto (al final entendi lo d linea por linea xD)
Nota: esto lo he hecho con el fscanf tal como tengo en los apuntes, luego probare con tu forma. Pero de esta manera me da un error en la llamada de la funcion en el main, donde pone leermatricula(*matricula)
Porque ? Graciass:D
Código C:
Ver original#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define NumAlumnAsign 700
typedef struct {
int nia;
int grado;
int lista_asign[NumAsign];
}matricula;
void leermatricula(matricula *matricula){
FILE *p;
char *a,line[300];
int c;
char *b;
int i;
if (p
= fopen("matricula.txt", "r")) {
if(p==NULL){
printf("Error: no se pudo abrir el archivo.\n"); }
else {
while(c!= EOF){
if((a
= fgets(line
, sizeof(line
), p
))) {
for (i=1; i<4; i++)
{
if(i==1)
{
fscanf(p
,"%d",matricula
[i
].
nia); }
}
else if(i==2)
{
fscanf(p
,"%d",matricula
[i
].
grado); }
}
else if(i==3)
{
fscanf(p
,"%d",matricula
[i
].
lista_asign); }
}
}
}
else {
}
}
}
}
}
}
}
main() {
leermatricula(*matricula);
}