elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  [PROBLEMA] Concatenar variables. [SOLUCIONADO]
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [PROBLEMA] Concatenar variables. [SOLUCIONADO]  (Leído 7,866 veces)
Siquillote

Desconectado Desconectado

Mensajes: 66


VB, C, HTML, POO, PHP, MySQL, CSS, XML, JS


Ver Perfil
[PROBLEMA] Concatenar variables. [SOLUCIONADO]
« en: 26 Diciembre 2010, 17:15 pm »

¡Hola! este es mi primer mensaje de ayuda y espero que me ayuden. Soy nuevo en esto de C y C++ pero ya he hecho una simple calculadora y tal.

He decidido crear un prorama que sirve para generar códigos (No diré para que por si acaso) y resulta que a la hora de hacer un rand() me lo muestra todo correctamente pero mi  duda es como mediante de ese rand y for poder guardarlo en una variable. Es decir, digamos que tengo este códigillo:

Código:
/* Codigo anterior..... */
              original = "HF72jia6Gd=";
              for(inicio=1;inicio<=15;inicio++){
                   aleatorio = (rand() % strlen(original));    
                   cout<<original[aleatorio];                                                                  
              }
/* Despues mas código... */  

Como veis, ese código, realiza un numero aleatorio 15 veces y cada una de ellas, elige una letra de esa cadena para luego ir mostrandolas una por una asi que de momento no hay problema pero si hago esto (Que sirve para concatenar variables):

Código:
              original = "HF72jia6Gd=";
              for(inicio=1;inicio<=15;inicio++){
                   aleatorio = (rand() % strlen(original));    
                   sprintf(despues, "%s%s", despues, original[aleatorio]);                                                                  
              }    

Si hago eso, no me concatena o une el valor realizado a la cadena si no que se congela el programa y se cierra solo. ¿Que necesito que pase? Necesito que cada letra generada por cada vez, se una a la variables "despues". Por ejemplo, ese codigo devuelve a la variable despues sería: despues = "a"; pero luego me devuelve b por lo que esa variable pasaría a ser: despues = "ab" y así sucesivamente...

¿Me han entendido? Gracias por su atención.


« Última modificación: 27 Diciembre 2010, 18:26 pm por Siquillote » En línea

satu


Desconectado Desconectado

Mensajes: 301

Siempre aprendiendo


Ver Perfil WWW
Re: [PROBLEMA] Concatenar variables.
« Respuesta #1 en: 26 Diciembre 2010, 18:52 pm »

Hola

Creo que tu problema viene en la primera iteración del bucle, porque la variable "despues" está vacía y el programa espera un string que no existe. Prueba a hacerlo así

Código
  1. original = "HF72jia6Gd=";
  2.    for(inicio=0;inicio<15;inicio++){
  3.        aleatorio = (rand() % strlen(original));    
  4.        despues[inicio]=original[aleatorio]);                                                                  
  5.        }  
  6.  

Pero no sé si ese es el problema. Esperemos que alguien que sepa nos saque de la duda.

Saludos


En línea

Breakbeat como forma de vida
Siquillote

Desconectado Desconectado

Mensajes: 66


VB, C, HTML, POO, PHP, MySQL, CSS, XML, JS


Ver Perfil
Re: [PROBLEMA] Concatenar variables.
« Respuesta #2 en: 26 Diciembre 2010, 19:13 pm »

Hola

Creo que tu problema viene en la primera iteración del bucle, porque la variable "despues" está vacía y el programa espera un string que no existe. Prueba a hacerlo así

Código
  1. original = "HF72jia6Gd=";
  2.    for(inicio=0;inicio<15;inicio++){
  3.        aleatorio = (rand() % strlen(original));    
  4.        despues[inicio]=original[aleatorio]);                                                                  
  5.        }  
  6.  

Pero no sé si ese es el problema. Esperemos que alguien que sepa nos saque de la duda.

Saludos

;D ¡Gracias!. Con lo que tu me has pasado, lo guarda todo el la variable despues pero si haces un cout<<despues no muestra nada pero si haces un cout<<despues[0]<<despues[1]... si que va mostrando letra por letra.

Con el ejercicio que estoy haciendo creo que esto me valdrá, muchas gracias satu por tu ayuda, luego te comento el resultado si he podido lograrlo.

¡'Gracias de nuevo!
En línea

satu


Desconectado Desconectado

Mensajes: 301

Siempre aprendiendo


Ver Perfil WWW
Re: [PROBLEMA] Concatenar variables.
« Respuesta #3 en: 26 Diciembre 2010, 19:21 pm »

Hola

Me alegro que te haya sevido. Ahora para poder imprimir y demás debes finalizar el string con el carácter '\0'. Debes poner esto justo después del bucle:
Código
  1. despues[inicio]='\0';
  2.  
y así te funcionará perfectamente

Saludos
En línea

Breakbeat como forma de vida
Siquillote

Desconectado Desconectado

Mensajes: 66


VB, C, HTML, POO, PHP, MySQL, CSS, XML, JS


Ver Perfil
Re: [PROBLEMA] Concatenar variables.
« Respuesta #4 en: 26 Diciembre 2010, 19:23 pm »

Hola

Me alegro que te haya sevido. Ahora para poder imprimir y demás debes finalizar el string con el carácter '\0'. Debes poner esto justo después del bucle:
Código
  1. despues[inicio]='\0';
  2.  
y así te funcionará perfectamente

Saludos

¿Como como? Eso no lo he entendido. Por cierto, parece que todo va bien de momento.
En línea

satu


Desconectado Desconectado

Mensajes: 301

Siempre aprendiendo


Ver Perfil WWW
Re: [PROBLEMA] Concatenar variables.
« Respuesta #5 en: 26 Diciembre 2010, 19:35 pm »

Pues verás, las cadenas de caracteres deben terminar con este carácter '\0', ya que cuando quieres hacer operaciones con ellas (con las cadenas), como por ejemplo imprimir, las funciones paran cuando encuentran ese caracter, por eso te dije que justo después del bucle tienes que poner esa instrucción, para finalizar tu cadena. Si no lo haces, la función (en este caso cout) no te funciona, aunque también podría haber imprimido "basura" que hay en tu memoria hasta encontrarse con '\0'

No sé si lo entiendes o no, me cuesta explicarme con claridad.

Digamos que sería como el punto en una frase.
En línea

Breakbeat como forma de vida
Siquillote

Desconectado Desconectado

Mensajes: 66


VB, C, HTML, POO, PHP, MySQL, CSS, XML, JS


Ver Perfil
Re: [PROBLEMA] Concatenar variables.
« Respuesta #6 en: 27 Diciembre 2010, 12:24 pm »

Pues verás, las cadenas de caracteres deben terminar con este carácter '\0', ya que cuando quieres hacer operaciones con ellas (con las cadenas), como por ejemplo imprimir, las funciones paran cuando encuentran ese caracter, por eso te dije que justo después del bucle tienes que poner esa instrucción, para finalizar tu cadena. Si no lo haces, la función (en este caso cout) no te funciona, aunque también podría haber imprimido "basura" que hay en tu memoria hasta encontrarse con '\0'

No sé si lo entiendes o no, me cuesta explicarme con claridad.

Digamos que sería como el punto en una frase.

Muchas gracias hombre por la explicación;). Y también muchas gracias por solucionarme la duda aunque con lo que me dijiste tube que hacer un algoritmo un poco guarro jajaja.

¿Hay alguna manera de agradecertelo como con karmas o algo así?. :D ;D
En línea

satu


Desconectado Desconectado

Mensajes: 301

Siempre aprendiendo


Ver Perfil WWW
Re: [PROBLEMA] Concatenar variables.
« Respuesta #7 en: 27 Diciembre 2010, 13:31 pm »

¿Hay alguna manera de agradecertelo como con karmas o algo así?. :D ;D

Con esto vale ;D ;D
Muchas gracias hombre por la explicación;). Y también muchas gracias por solucionarme la duda

Saludos
En línea

Breakbeat como forma de vida
Siquillote

Desconectado Desconectado

Mensajes: 66


VB, C, HTML, POO, PHP, MySQL, CSS, XML, JS


Ver Perfil
Re: [PROBLEMA] Concatenar variables.
« Respuesta #8 en: 27 Diciembre 2010, 14:12 pm »

Con esto vale ;D ;D
Saludos

jajajaj Gracias igualmente ;)
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[batch] problema con variables y espacios[Solucionado]
Scripting
corax 4 13,880 Último mensaje 10 Octubre 2009, 19:12 pm
por corax
[Batch] Problema con las variables [Solucionado] « 1 2 »
Scripting
DA KILLER 17 12,215 Último mensaje 19 Mayo 2010, 03:54 am
por DA KILLER
[Solucionado] Problema con variables de session
PHP
Wofo 4 9,845 Último mensaje 18 Junio 2011, 03:29 am
por Wofo
Cómo concatenar variables de diferentes tipos? (C++)
Programación C/C++
1mpuls0 7 12,823 Último mensaje 1 Abril 2014, 00:45 am
por amchacon
[SOLUCIONADO] Problema al intentar concatenar ficheros binarios.
Programación C/C++
SARGE553413 1 2,032 Último mensaje 10 Julio 2014, 02:02 am
por SARGE553413
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines