Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: <<<-Basura->>> en 25 Abril 2011, 09:04 am



Título: strcat
Publicado por: <<<-Basura->>> en 25 Abril 2011, 09:04 am
Bueno tengo este codigo:
Código
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include "pausa.h"
  4.  
  5. int main(){
  6.    char a=10;
  7.    char cade[15]="Prueva.";
  8.  
  9.    //strcat(cade,a);  << esta linea es la que no sirve
  10.    printf("%c",a);
  11.    printf("%s",cade);
  12.  
  13.  
  14.    pausa();
  15.    return 0;
  16. }
  17.  
  18.  
Mi Pregunta es como puedo hacer para juntar la string "cade" con "a", lo intente con strcat pero no me funciona la verdad no se porque.
... Creo que es porque "a" no es una string, si es por eso quisiera saber como hacerlo.

hice este otro codigo para provar el strcat y si me sirvio:

Código
  1. #include <stdio.h>
  2. #include "pausa.h"
  3. #include <string.h>
  4.  
  5. int main(){
  6.    char nombre[20]="Rody ";
  7.    char apellido[10]="Campos";
  8.    strcat(nombre,apellido);
  9.    printf("%s \n",nombre);
  10.    pausa();
  11.    return 0;    
  12. }
  13.  


Título: Re: strcat
Publicado por: satu en 25 Abril 2011, 10:28 am
Hola

strcat solo sirve para concatenar cadenas, prueba con sprintf (http://www.cplusplus.com/reference/clibrary/cstdio/sprintf/)

Saludos


Título: Re: strcat
Publicado por: Mr.Blue en 25 Abril 2011, 13:33 pm
strcat concatena cadenas, char no es una cadena por eso no anda.
Si declaras "a" como cadena tiene q andar

PD.
char a=10; //esta mal
-estas inicializando "a" en 10 [entero] y el tipo de dato char, es un caracter, 1byte = 8bits
Asi seria, char a[]="10";


Otra cosa, leete esto que te va a servir para tener en cuenta en el manejo de cadenas.
http://foro.elhacker.net/programacion_cc/lo_que_no_hay_que_hacer_en_cc_nivel_basico-t277729.0.html

PD2. Creastes una libreria pausa.h?, podes usar getchar (); para pausar.


Título: Re: strcat
Publicado por: <<<-Basura->>> en 25 Abril 2011, 21:35 pm
Primero que todo la libreria pausa la cree yo, uso el getchar(); y un printf("pausa..."); , fue para no utilizar la consola de windows para pausar y hacer mi propia función.

seguidamente se que el char es para caracteres.. pero si no sabes los caracteres son numeros.. situados en el ascii... mi numero '10' , significa salto de linea '\n' , eso tambien lo se, pero lo que queria era solamente saber como concatenar un caracter solo , con una cadena...

Cambio mi pregunta del principio... Como concatenar un caracter a una string de caracteres  ?? ... basandome en el codigo de arriba?


Título: Re: strcat
Publicado por: <<<-Basura->>> en 26 Abril 2011, 05:37 am
gracias Satu..
Prove con sprinft y si me sirvio, perfectamente, posteo el codigo:

Código
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include "pausa.h"
  4.  
  5. int main(){
  6.    char a=10;
  7.    char cade[20]="Prueva de sprinft";
  8.    sprintf(cade,"%s.%c",cade,a);
  9.    printf("%s",cade);
  10.    pausa();
  11.    return 0;
  12. }
  13.