Así, ¿ está bien?
Código C:
Ver original#include <stdio.h>
#include <string.h>
struct registro{
char nombre[50];
};
int main ()
{
FILE *fich;
char nom_fich[50];
char op;
long int num_registros;
int i;
struct registro datos;
struct registro *datos_arreglo;
printf("Introduzca nombre del fichero: "); /* Escritura del float en el fichero */
if ((fich
= fopen (nom_fich
, "wb")) == NULL
) {
printf ("Error de creación del fichero\n");
}
else{
do{
printf("Introduce una cadena: "); scanf("%49s",datos.
nombre); fwrite (&datos
, sizeof (datos
), 1, fich
); }while((op == 's') || (op == 'S'));
}
/* Lectura del float del fichero */
if ((fich
= fopen (nom_fich
, "rb")) == NULL
) {
printf ("Error de existencia del fichero\n");
}
else{
num_registros
=ftell/sizeof(registro
); datos_arreglo=registro[num_registros];
fread(datos_arreglo
,sizeof(registro
),num_registros
,fich
); }
for(i=0; i<num_registros; i++);
printf("%s\n", datos_arreglo
[i
].
nombre); }
Cuando lo compilo me da este error: En la función ‘main’:
float.c:47: error: ‘registro’ no se declaró aquí (primer uso en esta función)
float.c:47: error: (Cada identificador no declarado solamente se reporta una vez
float.c:47: error: para cada funcion en la que aparece.)