O.... Yo creo que puede ser debido a los problemas de puntero....
ok heres la nueva versión de las funciones, en realidad theyre sobre el mismo
la función de escritura es como esta
void Send_field1(filename, field)
char *filename;
FIELD2N *field;
{
INDEX i;
FILE *fptr;
if ((fptr = fopen(filename, "a")) == NULL)
printf("Error opening file\n");
printf("before printing\n");
SUMLOOP(i) fprintf(fptr, "%04x ", field->e[i]);
if (fclose(fptr) == EOF)
printf("Error closing file\n");
}
- void Send_field1(filename, field)
- char *filename;
- FIELD2N *field;
- {
- INDEX i;
- FILE *fptr;
- if ((fptr = fopen(filename, "a")) == NULL)
- printf("Error opening file\n");
- printf("before printing\n");
- SUMLOOP(i) fprintf(fptr, "%04x ", field->e[i]);
- if (fclose(fptr) == EOF)
- printf("Error closing file\n");
- }
y la parte de lectura es como esta
void Receive_field1(filename, field)
char *filename;
FIELD2N *field;
{
INDEX i;
FILE *fptr;
if ((fptr = fopen(filename, "r")) == NULL)
printf("Error opening file\n");
printf("before reading\n");
SUMLOOP(i) {fscanf(fptr, "%x ", &field->e[i]); printf("field->e[i] %04x\n", field->e[i]);}
if (fclose(fptr) == EOF)
printf("Error closing file\n");
}
- void Receive_field1(filename, field)
- char *filename;
- FIELD2N *field;
- {
- INDEX i;
- FILE *fptr;
- if ((fptr = fopen(filename, "r")) == NULL)
- printf("Error opening file\n");
- printf("before reading\n");
- SUMLOOP(i) {fscanf(fptr, "%x ", &field->e[i]); printf("field->e[i] %04x\n", field->e[i]);}
- if (fclose(fptr) == EOF)
- printf("Error closing file\n");
- }
Escribí sth en el archivo y la parte wriing está perfectamente bien como antes
Escribí
685 43c6fffc e02152ec 87fd5959
sí un poco desordenado, es un hexadecimal aleatorio
Pero cuando traté de ver cuál es la función readinf leer desde el archivo...Tengo este
por lo que todavía no está leyendo lo correcto
Heres y algunas de las declaraciones que hice antes
typedef struct {
ELEMENT e[MAXLONG];
} FIELD2N;
- typedef struct {
- ELEMENT e[MAXLONG];
- } FIELD2N;
donde MAXLONG = 4
SUMLOOP y que se define como
#define SUMLOOP(i) for(i=0; i<MAXLONG; i++)
simplemente una manera de definir el circuito que se frequenylt utilizados en el programa de

Así que nadie tiene ni idea de donde salió mal?

Thanz!!
