Ver Mensaje Individual
  #5 (permalink)  
Antiguo 15/01/2014, 10:48
Avatar de Malenko
Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 8 meses
Puntos: 606
Respuesta: Segmentation Fault.

Como te han comentado, no tiene sentido usar C++ solo para tener clases y no usar el resto de potencial.

Yo optaría por usar la clase string, pero además has de vigilar los bugs al acceder a posiciones de array sin antes saber si existen:

Código C++:
Ver original
  1. void iniDicom::asingValues(char* value_char, int iniNumber, char* value_var){
  2.     int i, largo = strlen(value_char);
  3.  
  4.     for(i=0;i<largo;i++){
  5.         value_char[i] = value_var[iniNumber+i] ;
  6.     }
  7.  
  8. }

Esta función acepta 2 arrays que pueden ser de diferente tamaño y un entero. En el bucle for solo controlar por la longitud de la cadena "value_char" pero si "iniNumber+1" es superior a "strlen(value_var)" te dará un error por "Segmentation fault" o similares.

Por otro lado, en caso de querer continuar usando punteros y cadenas mediante char*, recuerda que tendrías que reservar el tamaño (con malloc) en el constructor de iniDicom
__________________
Aviso: No se resuelven dudas por MP!