Programación General > C/C++
Retorno del memcpy
meyiyiyi:
Buenas tardes. Mi primer msj; estoy estudiando ing. en informatica, asi q me van a tener por un largo tiempo acá. Para empezar mi consulta:
Que valores me retorna el memcpy?... quiero saber si se ha copiado correctamente o ha surgido un error. Muchas Gracias
Eternal Idol:
http://www.cplusplus.com/reference/clib ... ng/memcpy/
memcpy devuelve lo mismo que le pasas en el primer parametro (la direccion de destino de la copia), si esta falla se producira una excepcion.
meyiyiyi:
Ah claro!, en las referencias leia que devolvia s1; y s1 lo usavan como primer parametro., no comprendia.
Necesito realizar una copia y luego verificar si se copió o no, está bien de esta forma?:
int modificarCteLDEC(LDEC* ldec, void* elemento){
memcpy(ldec->Cte->Elem,elemento,ldec->TamanioDato);
if(ldec->Cte->Elem==elemento) return TRUE;
else return FALSE;
}
Tengo tanto problemas con punteros que no se si está bien el álgebra de sus operaciones. Muchas gracias nuevamente ;-)
O mejor hecho así:
int modificarCteLDEC(LDEC* ldec, void* elemento){
if(memcpy(ldec->Cte->Elem,elemento,ldec->TamanioDato)==elemento) return TRUE;
else return FALSE;
}
Eternal Idol:
No, no esta bien.
De cualquier manera la comprobacion seria redundante, si la copia falla se produce una excepcion (al no ser controlada el programa muere) de otra manera podes asumir sin problemas que funciono correctamente.
meyiyiyi:
Es que me piden que verifique si la copia se realizó con exito, como lo tengo que hacer?
EI: juntando mensajes, usa el boton editar si nadie responde por favor.
De todos modos no entiendo pq está mal.
Navegación
[#] Página Siguiente
Ir a la versión completa