Título: Ayuda con struct en C Publicado por: nyper01 en 15 Diciembre 2013, 17:40 pm Hola buenas, soy un estudiante de 1º de la universidad (digo esto por que mis conocimientos en programacion son aun muy basicos), y en un trabajo que estoy haciendo me surge un problema. el código es este:
Citar #include <stdio.h> #include <stdlib.h> int funcion(int ,int ) struct jugadas { int f[1]; int c[1]; }jugadas; // [...] Mucho codigo entre medio que no creo que tenga nada que ver int funcion(int c, int f) { int fa=0, ca=0; FILE *jugadas; jugadas=fopen("ia.txt","r+"); if(jugadas!=NULL) { while(!feof(jugadas)) { if(fread(&jugadas,sizeof(jugadas),1,jugadas)) { fa=jugadas.f; ca=jugadas.c; } } } } _______________________________________________ El error que me da es: 377 15 [Error] request for member 'f' in something not a structure or union 378 15 [Error] request for member 'c' in something not a structure or union Lo que quiero es que los datos almacenados en el fichero como "f" y como "c" pasen a las variables "fa" y "ca" de la función ¿Alguien me puede explicar que estoy haciendo mal o como hacerlo bien? Muchas gracias de antemano Título: Re: Ayuda con struct en C Publicado por: amchacon en 15 Diciembre 2013, 18:40 pm Código ¿Arrays de longitud 1? Código
Has llamado al archivo y a la estructura con el mismo nombre. Título: Re: Ayuda con struct en C Publicado por: nyper01 en 15 Diciembre 2013, 19:01 pm Muchas gracias, todo arreglado.
Desconocía que no podía poner el mismo nombre al fichero que a la estructura. Título: Re: Ayuda con struct en C Publicado por: amchacon en 15 Diciembre 2013, 19:04 pm Muchas gracias, todo arreglado. Cuando hay dos variables con el mismo nombre, el compilador coge la más "interna".Desconocía que no podía poner el mismo nombre al fichero que a la estructura. La estructura al ser global, tiene menos prioridad que el FILE* (que está dentro de una función). Por tanto cada vez que llames a jugadas cogera el FILE* al ser más interna. Lo mejor esque evites las colisiones de nombres porque llevan a confusiones, y la mejor forma de hacerlo es quitarte las variables globales de en medio. Título: Re: Ayuda con struct en C Publicado por: nyper01 en 15 Diciembre 2013, 23:04 pm Muchas gracias, lo tendré en cuenta, pero no se si aun tengo nivel para eso, ya que voy aprendiendo poco a poco según lo que me enseñan en clase. De todas formas intentare no repetir nombres en ningún lado. Gracias por el consejo.
|