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

Juntar variables

Estas en el tema de Juntar variables en el foro de C/C++ en Foros del Web. Hola, bueno, seguramente mi ultima duda para completar mi proyecto, ¿cómo se puede hacer para que una variable tenga el contenido de dos? Por ejemplo: ...
  #1 (permalink)  
Antiguo 17/09/2011, 10:15
 
Fecha de Ingreso: septiembre-2011
Mensajes: 22
Antigüedad: 12 años, 7 meses
Puntos: 1
Pregunta Juntar variables

Hola, bueno, seguramente mi ultima duda para completar mi proyecto, ¿cómo se puede hacer para que una variable tenga el contenido de dos?

Por ejemplo:
char a[50] = "paco";
char b[50] = "man";
char c[50];

y que salga en la variable c "pacoman"
  #2 (permalink)  
Antiguo 17/09/2011, 10:44
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Respuesta: Juntar variables

http://www.cplusplus.com/reference/c...string/strcat/
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #3 (permalink)  
Antiguo 17/09/2011, 10:54
 
Fecha de Ingreso: junio-2010
Mensajes: 132
Antigüedad: 13 años, 10 meses
Puntos: 3
Respuesta: Juntar variables

Jajaja yo le hubiera hecho un metodo o especificamente un ciclo, pero esa funcion esta mucho mejor...Hasta a mi me enseñaste jejeje, Gracias


for(int i = 0;i<50;i++)
{
if(a[i] == '\0')
break;

c[i] = a[i];
}

for(int i = 0;i<50;i++)
{
if(b[i] == '\0')
break;

c[i] = b[i];
}

metodo malo por lo rapido que lo hice, pero mas tarde hago un metodo mucho mejor, corto y eficiente
  #4 (permalink)  
Antiguo 17/09/2011, 11:49
 
Fecha de Ingreso: septiembre-2011
Mensajes: 22
Antigüedad: 12 años, 7 meses
Puntos: 1
Respuesta: Juntar variables

He usado la soluciónde Eternal Idol, pero me sale "invalid conversion from char to const char*"
  #5 (permalink)  
Antiguo 17/09/2011, 12:23
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Respuesta: Juntar variables

Algo hiciste mal, le estas pasando un CARACTER y la funcion necesita una cadena de caracteres (es decir un puntero a caracter, char *).

Es tan simple realmente:
Código:
char a[50] = "paco";
char b[50] = "man";
char c[50] = "";
strcat(c, a);
strcat(c, b);
printf("%s\r\n", c);
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #6 (permalink)  
Antiguo 17/09/2011, 13:26
 
Fecha de Ingreso: septiembre-2011
Mensajes: 22
Antigüedad: 12 años, 7 meses
Puntos: 1
Respuesta: Juntar variables

Es que lo que quiero hacer es juntar 6 carácteres que están en 6 variables distintas
  #7 (permalink)  
Antiguo 17/09/2011, 14:17
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Respuesta: Juntar variables

La proxima vez pone un ejemplo equivalente a lo que queres hacer

Código:
char a = 'p';
char b = 'a';
char h[10] = "";
strncat(h, &a, 1);
strncat(h, &b, 1);
¿Seguro que tenes que hacer esto?
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #8 (permalink)  
Antiguo 17/09/2011, 16:59
 
Fecha de Ingreso: marzo-2011
Mensajes: 54
Antigüedad: 13 años, 1 mes
Puntos: 11
Respuesta: Juntar variables

deduzco que solo usas C, pero puedes usar la clase string de C++, ya que C++ es completamente compatible con C, además la clase string permite concatenar strings de este modo:
Código C++:
Ver original
  1. string str = "hola";
  2. string str2 = "mundo";
  3. str += str2;
pero si solo tienes que concatenar caracteres individuales... no es mejor hacerlo directamente desde un array?
  #9 (permalink)  
Antiguo 18/09/2011, 05:21
 
Fecha de Ingreso: septiembre-2011
Mensajes: 22
Antigüedad: 12 años, 7 meses
Puntos: 1
Respuesta: Juntar variables

Vale, no sabía lo de los arrays.

==

Como había dicho en otra ocasión yo soy de PHP y con el C++ que he utilizado para un proyecto puntual me ha vuelto medio loco.

Muchísimas gracias a todos
  #10 (permalink)  
Antiguo 22/09/2011, 15:54
 
Fecha de Ingreso: octubre-2010
Ubicación: Edo. de México
Mensajes: 94
Antigüedad: 13 años, 6 meses
Puntos: 9
Respuesta: Juntar variables

Que no es mas fácil un sprintf???
Código:
char[10] miPalabra;
char a = 'h';
char b = 'o';
char c = 'l';
char d = 'a';

sprintf(miPalabra, "%c%c%c%c", a,b,c,d);
No se te olvide limpiar la cadena antes de utilizarla por cierto.

Etiquetas: juntar, variables
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 00:17.