Copiar estructuras
Hola. Estoy en entorno linux y programando en C.
En mi programa declaro una estructura por ejemplo
struct {
int x;
int y;
} informacion;
Despues dentro de una funcion defino estas estructuras
struct informacion original[10];
struct informacion copia[10];
Una vez original tiene los datos correspondientes intento realizar una copia en la estructura copia. Lo he probado de estos 2 metodos:
copia=original;
y
copia.x=original.x;
El problema es que no me realiza la copia de los datos. Bueno si alguien sabe como solucionar el problema se lo agradeceria.
Un saludo
En mi programa declaro una estructura por ejemplo
struct {
int x;
int y;
} informacion;
Despues dentro de una funcion defino estas estructuras
struct informacion original[10];
struct informacion copia[10];
Una vez original tiene los datos correspondientes intento realizar una copia en la estructura copia. Lo he probado de estos 2 metodos:
copia=original;
y
copia.x=original.x;
El problema es que no me realiza la copia de los datos. Bueno si alguien sabe como solucionar el problema se lo agradeceria.
Un saludo
Prueba a poner copia[0].x=original[0].x, etc...
Hay que indicarle la posición del array, espero no haberme equivocado. Suerte!
Hay que indicarle la posición del array, espero no haberme equivocado. Suerte!
Puedes copiar estructuras sin problemas
struct informacion a, b;
a=b; // copia bien
lo que no puedes copiar son arrays, como es tu caso. original y copia son arrays de 10, no puedes copiarlos "de golpe".
Haz un bucle y vete igualando elementos
for (i=0; i<10; i++)
copia[i] = original[i]; // copia la estruct. i
Se bueno.
struct informacion a, b;
a=b; // copia bien
lo que no puedes copiar son arrays, como es tu caso. original y copia son arrays de 10, no puedes copiarlos "de golpe".
Haz un bucle y vete igualando elementos
for (i=0; i<10; i++)
copia[i] = original[i]; // copia la estruct. i
Se bueno.
