Wikipedia

Resultados de la búsqueda

miércoles, 24 de septiembre de 2014

Cadena De Caracteres

Cadena de caracteres.Una cadena en C++ es un conjunto de caracteres, o valores de tipo "char", terminados con el carácter nulo. Internamente se almacenan en posiciones consecutivas de memoria en forma de arreglo.
Si la cadena fuente es de longitud mayor que la cadena destino, se cae en el gravísimo error de sobrescribir después del final de la cadena fuente. Una variante de esta función y que ayuda a eliminar el efecto colateral arriba expresado es utilizar la función strncpy, stpncpy(var_cadena, cadena2, cantidad) que posee un tercer parámetro (cantidad) para indicar cuántos caracteres serán transferidos. Una vez transferidos los caracteres, debe escribirse en la cadena destino el carácter null.

Ejemplo

#include <iostream.h>
#include <string.h>
void main(void)
{ 
   char destino[10];
   char origen[] = "abcdefghi";
   strncpy(destino, origen, 3);
   destino[3] = '\0'; //Si esto no se hace, la salida es imprevisible
   cout << destino<< '\n'; }
La salida sería:
abc 
Es bueno destacar que si una cadena se define con un constructor corriente de arreglo, como en:
 
char cadena[6];
no resultaría posible hacer:
cadena = "casa";   // ERROR
pues, como sabemos, no es posible aplicar el operador de asignación para arreglos completos. Entonces usaríamos: strcpy(cadena, "casa"); lo cual es mejor que la solución de copiar de una cadena para otra carácter a carácter:
for(i = 0; i < strlen(cadena2); i++)
var_cadena[i] = cadena2[i];
var_cadena[i] = '\0'; // carácter nulo de terminación
}

No hay comentarios:

Publicar un comentario