[C con Clase] Sumar dos cadenas

Programante programante en gmail.com
Dom Feb 4 16:16:12 CET 2007


Jandro escribió:
> Hola a todos, necesito hacer una chorradilla, pero no se hacerla ;)
>
> Tengo una variable 'nombre' que contiene una cadena de caracteres, y  
> esta cadena la recojo por teclado, ahora lo que quiero es añadirlea  
> esa cadena la terminacion "%d".
>
> Alguien podria decirme como se hace?
>
> Gracias y saludos.
> Jandro
Suponiendo que el buffer es lo suficientemente grande   strcat(nombre, 
"%d");

char nombre[10];
gets(nombre);
strcat(nombre, "%d");

Si por teclado nos pasaran más de 6 caracteres sería incorrecto. 
*Estaríamos sobreescribiendo memoria*.
Por otra parte si lo que quieres es imprimir nombre y luego un número [ 
printf(numero, 7) ], puedes hacer printf("%s%d", nombre, 7);



Si usas C++, lo más sencillo es usar la clase string
#include <iostream>
#include <string>
using namespace std;

int main() {
string nombre;
cin>> nombre; //Leer una línea de teclado
nombre = nombre + "%d"; //Sumamos las cadenas
cout << "Nombre ahora es: " << nombre << endl;
return 0;
}

Con ésta no hay problemas de espacio.




Más información sobre la lista de distribución Cconclase