Leer de fichero

_malcom_
05 de Febrero del 2005
Hola amig@s,

Como puedo leer de un fichero te texto q tiene esta forma, 23N-24R-54N-10R, los numeros y las letras por separado, yo pensaba q con un struct definido en dos partes, uno para el numero y otra para la letra se podia ir guardando los valores... pero no consigo hacer que se guarden, como tengo q hacerlo?

typedef struct
{
int numero[2];
char color;
} tiradas;

tiradas tirada;
int i=0;


file= fopen("lista.txt","r");

while (!feof(file))
{
fscanf(file,"%d%d%s ",tirada.numero[i],tirada.numero[i++],tirada.color[i]);
i++;
}

de que manera puedo guardar los numeros por un lado y la letra correspondiente por otro? Mmmm... alguna sugerencia???

O otra forma que se me ha ocurrido es guardar todos los numeros en un fichero de texto por ej. Numeros.txt y otro con el color Color.txt, asi tendría cada cosa por su lado y luego seria cuestion de ir leyendo por un lado dos numeros por una letra del fichero Color.txt, pero no se q metodo es mas costoso en tiempo??? Como lo hago?

No es mejor utilizar el struct y tener cada cosa guardada en un vector? Y como lo hago?

Gracias ^_^

silvanha
05 de Febrero del 2005
hola!!.. bueno para empezar debes ver que cuando defines tu estructura el "numero" si es un arreglo de 2 caracteres pero el color no, ese solo es un caracter y tu lo estas direccionando como si fuera un arreglo tambien, ademas, despues de que guardas el segundo numero que lees pones "i++", y ahi estas modificando el valor, que despues utilizas en color, porque no empiezas por eso, checa bien los arreglos de la estructura, por que en teoria esta bien lo que estas haciendo..
ojala te ayude en algo, zaluditoz!!.. bye!!! o_O