Foros del Web » Programación para mayores de 30 ;) » C/C++ »

guardar valores de numeros aleatorios y concatenar a char

Estas en el tema de guardar valores de numeros aleatorios y concatenar a char en el foro de C/C++ en Foros del Web. buenas tardes Estoy intentando recoger en un bucle for los valores aleatorios que me devuelve rand. y ir concatenadoloen cada vuelta de tal forma que ...
  #1 (permalink)  
Antiguo 12/05/2011, 06:50
 
Fecha de Ingreso: febrero-2011
Mensajes: 89
Antigüedad: 13 años, 2 meses
Puntos: 1
guardar valores de numeros aleatorios y concatenar a char

buenas tardes
Estoy intentando recoger en un bucle for los valores aleatorios que me devuelve rand. y ir concatenadoloen cada vuelta de tal forma que me quede el aspecto de los valores de un insert
ej:
(1,1,0,1,0,....)
la cuestión es que cuando salgo del bucle solo se ha guardado el ultimo valor de las concatenaciones.¿alguien me puede echar un cable?
codigo:
Código C++:
Ver original
  1. char bolos[300];
  2.  for(i=0;i<10;i++){ //solo con los datos de los bolos EN PIE
  3.      estadobolo=(rand()%2);    
  4.      sprintf (bolos, "%d%s",estadobolo,",");
  5.      
  6.  }
  7. sprintf (consulta, "%s",bolos);

Gracias gente
  #2 (permalink)  
Antiguo 12/05/2011, 08:49
Avatar de Heimish2000  
Fecha de Ingreso: enero-2011
Ubicación: Madrid
Mensajes: 844
Antigüedad: 13 años, 2 meses
Puntos: 89
Respuesta: guardar valores de numeros aleatorios y concatenar a char

Tienes que guardar el resultado del sprintf en tu cadena

bolos = sprintf (bolos, "%d%s",estadobolo,",");

Puede que sea por eso
  #3 (permalink)  
Antiguo 12/05/2011, 10:23
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años
Puntos: 228
Respuesta: guardar valores de numeros aleatorios y concatenar a char

sprintf no concatena, sobreescribe. Una vez que hiciste el sprintf deberias usar un strcat. O ir actualizando el puntero segun los caracteres escritos.

Código C:
Ver original
  1. char bolos[20];
  2. char total[300];
  3. total[0] = '\0';
  4.  for(i=0;i<10;i++){ //solo con los datos de los bolos EN PIE
  5.      estadobolo=(rand()&#37;2);    
  6.      sprintf (bolos, "%d%s",estadobolo,", ");
  7.      strcat(total,bolos);
  8.      
  9.  }
  10. printf ( "%s",total);

Etiquetas: char, concatenar, numeros, aleatoria
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:58.