Ver Mensaje Individual
  #2 (permalink)  
Antiguo 10/03/2015, 05:43
eferion
 
Fecha de Ingreso: octubre-2014
Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 9 años, 7 meses
Puntos: 204
Respuesta: Copiar array cadena caracteres

¿Es imprescindible que uses char*? Si no es así, prueba a usar la clase "string", te simplificará mucho la vida

¿Tienes prohibidos los contenedores? Si no es así, prueba a usar la clase "vector" para almacenar la lista de elementos. Igualmente, te simplificará mucho el código y la vida.

Y bueno, tratando tu problema:

¿Qué error te da?

Veo que usas "this", pero con tu código no queda claro que "setFiles" sea un método de una clase. Si esta función no pertenece a una clase, no puedes usar "this".

Y, ya puestos, ¿por qué en esa línea usas "new" y, un poco más abajo, "malloc"?? lo normal, si estás programando en C++, es que uses "new" y te olvides de malloc.

Ah si, se me olvidaba:

Código C++:
Ver original
  1. strlen(files[i])*sizeof(char)

Esa reserva de memoria está mal. strlen(files[i]) te devuelve el número de caracteres de files[i]... pero no cuenta el carácter de fin de cadena, '\0'. Tienes que sumar 1 al resultado para que puedas hacer la copia sin pisar memoria.


Un saludo