Autor Tema: ¿Memmove hace lo mismo que memcopy?  (Leído 1660 veces)

osk

  • Hero Member
  • *****
  • Mensajes: 516
  • Karma: 52
¿Memmove hace lo mismo que memcopy?
« en: Octubre 07, 2009, 10:59:49 am »
Hola.
Estaba probando la función memmove y he visto que en la wiki no está. Entonces he supuesto que sería como memcopy pero reseteando los valores de la tabla/estructura origen. Para probar si estaba en lo cierto, he modificado el ejemplo que hay en la wiki de memcopy y lo he sustituido por memmove ...y he comprobado que memmove hace lo mismo que memcopy: deja la tabla/estructura original con los mismo valores y los copia a los nuevos. ¿Hay algo que estoy haciendo/entendiendo mal?
Gracias!

darío

  • Sr. Member
  • ****
  • Mensajes: 451
  • Karma: 48
Re: ¿Memmove hace lo mismo que memcopy?
« Respuesta #1 en: Octubre 07, 2009, 01:39:57 pm »
No se en bennu pero en otros lenguajes la diferencia es que memmove hace primero una copia a un buffer intermedio y luego al destino mientras que memcpy no. Esto es importante si copias de un area de memoria origen a un area de memoria destino y al hacerlo existe solapamiento. Con memcpy el comportamiento de la función no estaría definido mientras que con memmove sí.

No se si me explico (de todos modos no se si es así en bennu).
My sites:
Smart Fpg Editor - Painless FPG Edition for Bennu and PixTudio
fenixlib - .NET support for manipulating PixTudio, Bennu and Div graphic formats

osk

  • Hero Member
  • *****
  • Mensajes: 516
  • Karma: 52
Re: ¿Memmove hace lo mismo que memcopy?
« Respuesta #2 en: Octubre 07, 2009, 03:32:04 pm »
Aaah,vale...debe ser eso.
Gracias!!