| ||||
Respuesta: std::string si:
Código:
std::string str1 = "test"; std::string str2 = str1; // copia de la cadena
__________________ Alicia: Sólo quiero saber que camino debo tomar. Gato risón: Pues... depende mucho de donde quieras ir. Mi página web |
| |||
Respuesta: std::string uups, muchas gracias :), pero me equivoque al preguntar. el problema es que al copiarlos (usando = ), en ese momento me salta una segmentation fault, por que? por cierto, esto es dentro de una funcion donde el string donde se copian las cosas es pasado or referencia ( & ) |
| ||||
Respuesta: std::string ¿puedes enseñaros esta función?
__________________ Alicia: Sólo quiero saber que camino debo tomar. Gato risón: Pues... depende mucho de donde quieras ir. Mi página web |
| |||
Respuesta: std::string si, aqui esta:
Código C++:
Muchas gracias Ver original |
| ||||
Respuesta: std::string Vale. El problema viene de los funciones substr(). No te puedo decir exactamente porque no conozco algunas variables y no se como estan las cadenas cuando entras en esta funcion, pero es aquí fijo.
__________________ Alicia: Sólo quiero saber que camino debo tomar. Gato risón: Pues... depende mucho de donde quieras ir. Mi página web |
| |||
Respuesta: std::string las cadenas son simplemente 1s y 0s, todas de la misma longitud (LON_CROMO) y punto simplemente indica a partir de donde cortar cada cadena, para hacer dos partes. cada t contiene una parte de cada hijo |
| ||||
Respuesta: std::string ¿Y que valen las variables NUM_ALE y TASA_CRUCE?
__________________ Alicia: Sólo quiero saber que camino debo tomar. Gato risón: Pues... depende mucho de donde quieras ir. Mi página web |
| |||
Respuesta: std::string Bueno, primero una aclaracion, que es que trabajar por la noche no es bueno y te saltas pasos. realmente el código es así, aunque no varia mucho la cosa ya que el eror sigue siendo el mismo:
Código C++:
Ver original TASA_CRUCE vale 0.45 y NUM_ALE es una macro que devuelve un float entre 0 y 1. |
| ||||
Respuesta: std::string Mhh. Si entiendo bien: . punto siempre vale 0 (porque (in) 0.45x0 y (int) 0.45x1 valen ambos 0). . hijo1 = "1s" y hijo2 = "0s" => el tamaño de hijo1 y hijo2 es 2 . => LON_CROMO = 2 Entonces, el codigo siguiente: t1=hijo1.substr(0, punto) + hijo2.substr(punto+1, LON_CROMO); Seria: t1=hijo1.substr(0, 0) + hijo2.substr(1, 2); ¿Es exacto? Tienes que mirar bien como funciona la funcion substr(). El primero parametro de esta funcion es el indice de principio, y el segundo es el numero de caracteres que cogemos. Entonces si el tamaño de hijo2 est 2, pues hijo2.substr(1, 2) no tiene sentido.
__________________ Alicia: Sólo quiero saber que camino debo tomar. Gato risón: Pues... depende mucho de donde quieras ir. Mi página web |
| |||
Respuesta: std::string no, eso no es válido con el código de mi mensaje anterior, punto será como poco 1, y como maximo 1 menos que LON_CROMO, valor que yo asigno en un #define. las cadenas tienen todas la misma longitud, y tanto 1s como 0 pueden estar en cualquiera. revisaré como funciona .substr(). por cierto, me fusta tu pag. web, pero el enlace esta mal puesto |
Etiquetas: Ninguno |