Utilizar punteros para conectar cadenas
#include<stdio.hamp;gt;
int main(){
char a[20]={0}, b[20 ]= {0};
char*q=a, *p=b;
printf("Ingrese la primera cadena de números\n");
gets(a);
printf("Ingrese la segunda cadena de números\n");
gets(b);
printf(" La primera cadena de números es\n");
puts(a);
printf("La segunda cadena de números es\n");
pone (b);
mientras(*q!='\0'){
q;
}
mientras (* p!='\0'){
*q=*p;
q, p;
}
printf( "Los caracteres después de la concatenación son: \n");
puts(a
return 0; >Información de extensión:
uso de get():
Ejemplo
C:
#includeamp;lt;stdio.hamp;gt ;/ /Este archivo de encabezado contiene la función gets(), que fue eliminada en el estándar ISO/IEC 9899 2011 (C11)
int main(void)
{
char str1[5]; //No cargues*p, luego obtiene(p), esto es incorrecto porque p no apunta a una memoria válida, puede apuntar a cualquier dirección ilegal // Un bloque de memoria de tamaño desconocido en alguna parte, de esta forma se puede modificar el contenido de la memoria que no pertenece a este programa
gets(str1);
printf("s\n", str1);
devuelve 0;
}
#includeamp;lt;stdio.hamp;gt;//uso de gets_s()
#define CH 20
int main(void)
{
char ch[CH];
printf("Por favor ingresa tu nombre:\n ");
gets_s(ch, CH); //gets_s(ch) no se puede usar aquí;
printf("Este es tu nombre: s \n", ch) ;
return 0;
}
C:
#includeamp;lt;iostreamamp;gt;
#includeamp;lt;cstdioamp;gt;
usando el espacio de nombres std;
int main()
{
char str[ 100];
gets(str);
coutamp;lt;amp;lt;stramp;lt;amp;lt;endl;
return 0;
}
La función gets() se utiliza para leer una cadena desde el dispositivo de entrada estándar (teclado) hasta el final del carácter de nueva línea, pero el El carácter de nueva línea se descartará y luego se agregará el carácter '\ al final 0'. El formato de llamada es:
gets(s);
donde s es una variable de cadena (nombre de matriz de cadena o puntero de cadena).
La función gets(s) es similar a scanf("s", s), pero no exactamente igual. Hay un problema al usar la función scanf("s", s) para ingresar un. cadena, es decir, si Un espacio se considerará el final de la cadena y los caracteres después del espacio se procesarán como el siguiente elemento de entrada, pero la función get () recibirá la cadena de entrada completa hasta que se encuentre una nueva línea.
En otras palabras: la función get() lee \n (el retorno de carro que ingresamos) y deja de leer, pero no incluirá \n en la cadena. Sin embargo, la función puts utilizada con él ajusta automáticamente las líneas al generar cadenas.
Editar descripción
La variable s en la función get(s) es un puntero de cadena. Si es un puntero de un solo carácter, no habrá errores durante la compilación y la conexión, pero habrá un error de desbordamiento de memoria después de la ejecución.
Versión de caracteres anchos, cuando use texto de caracteres anchos Unicode, use esta función _getws();
Se eliminó en el estándar C11 y puede reemplazarse por fgets en la biblioteca estándar de C.