COMPARTE ESTE ARTÍCULO Y MUESTRA LO QUE APRENDISTE

En esta biblioteca se incluyen rutinas de conversión entre tipos. Nos permiten convertir cadenas de caracteres a números, números a cadenas de caracteres, números con decimales a números enteros, etc.
En estos ejemplos se utilizan punteros, en este curso no se vieron punteros pero aprenderás sobre ellos en el Curso de POO con C++
.

.

Métodos

Función strlen()
Calcula la longitud de una cadena.

size_t  strlen(constchar *s);

Valor de retorno:
strlen devuelve el número de caracteres que hay en s, excluyendo el carácter nulo de terminación de cadena.
Ejemplo de uso:

#include
#include
using  namespace  std;

int  main(){
   char *cadena = "Una cadena C++ termina con cero";

   cout << "La cadena: [" << cadena << "] tiene " << strlen(cadena) << " caracteres" << endl;
   return  0;
}

.
.
Función strcpy()
Copia una cadena en otra.

char *strcpy(char *dest, constchar *orig);

Copia la cadena orig a dest, la copia de caracteres se detendrá cuando sea copiado el carácter nulo.
Valor de retorno:
strcpy devuelve el puntero dest.
Ejemplo de uso:

#include
#include
using  namespace  std;

int  main(){
   char *cadena = "Cadena ejemplo";
   char cad[32];

   cout << strcpy(cad, cadena) << endl;
   cout << cad << endl;
   return  0;
}

.
.
Función strcmp()
Compara dos cadenas.

int  strcmp(char *cad1, constchar *cad2);

Compara las dos cadenas, si la cad1 es mayor que cad2 el resultado será mayor de 0, si cad1 es menor que cad2, el resultado será menor de 0, si son iguales, el resultado será 0.

La comparación se realiza carácter a carácter. Mientras los caracteres comparados sean iguales, se continúa con el siguiente carácter. Cuando se encuentran caracteres distintos, aquél que tenga un código ASCII menor pertenecerá a la cadena menor. Por supuesto, si las cadenas son iguales hasta que una de ellas se acaba, la más corta es la menor.
Ejemplo de uso:

#include
#include
using  namespace  std;

int  main(){
   char *cadena1 = "Cadena ejemplo 1";
   char *cadena2 = "Cadena ejemplo 2";
   char *cadena3 = "Cadena";
   char *cadena4 = "Cadena";

   if(strcmp(cadena1, cadena2) < 0) {
      cout << cadena1 << " es menor que " << cadena2 << endl;
   }
   else if(strcmp(cadena1, cadena2) > 0) {
      cout << cadena1 << " es menor que " << cadena2 << endl;
   }
   else {
      cout << cadena1 << " es igual que " << cadena2 << endl;
      cout << strcmp(cadena3, cadena2) << endl;
      cout << strcmp(cadena3, cadena4) << endl;
   }
   return 0;
}

.
.
Función strcat()
Añade o concatena una cadena a otra.

char *strcat(char *dest, constchar *orig);

strcat añade una copia de orig al final de dest. La longitud de la cadena resultante será strlen(dest) + strlen(orig).
Valor de retorno:
strcat devuelve un puntero a la cadena concatenada.
Ejemplo de uso:

#include
#include
using  namespace  std;

int  main(){
   char *cadena1 = "Cadena de";
   char *cadena2 = " ejemplo";
   char cadena3[126];

   strcpy(cadena3, cadena1);
   cout << strcat(cadena3, cadena2) << endl;
   return  0;
}

.
.
Función strncpy()
Copia un determinado número de caracteres de una cadena en otra.

char *strncpy(char *dest, constchar *orig, size_t maxlong);

Copia maxlong caracteres de la cadena orig a dest, si hay más caracteres se ignoran, si hay menos se rellenará con caracteres nulos. La cadena dest no se terminará con nulo si la longitud de orig es maxlong o más.
Valor de retorno:
strncpy devuelve el puntero dest.
Ejemplo de uso:

#include
#include
using  namespace  std;

int  main(){
   char *cadena = "Cadena ejemplo";
   char cad[32];

   strncpy(cad, cadena, 4);
   cad[4] = '\0';
   cout << cad << endl;
   return  0;
}

.
.
Función strncmp()
Compara dos porciones de cadenas.

int  strncmp(char *cad1, constchar *cad2, size_t maxlong);

Compara las dos cadenas igual que strcmp, pero sólo se comparan los primeros maxlong caracteres.

Ejemplo de uso:

#include
#include
using  namespace  std;

int  main(){
   char *cadena1 = "Cadena ejemplo 1";
   char *cadena2 = "Cadena ejemplo 2";
   char *cadena3 = "Cadena";
   char *cadena4 = "Cadena";

   if(strncmp(cadena1, cadena2, 6) < 0) {
      cout << cadena1 << " es menor que " << cadena2 << endl;
   }
   elseif(strncmp(cadena1, cadena2, 6) > 0) {
      cout << cadena1 << " es menor que " << cadena2 << endl;
   }
   else {
      cout << cadena1 << " es igual que " << cadena2 << endl;
      cout << strncmp(cadena3, cadena2, 5) << endl;
      cout << strncmp(cadena3, cadena4, 4) << endl;
   }
   return  0;
}

.
.
Función strncat()
Añade o concatena una porción de una cadena a otra.

char *strncat(char *dest, constchar *orig, size_t maxlong);

strncat añade como máximo maxlong caracteres de la cadena orig al final de dest, y después añade el carácter nulo. La longitud de la cadena resultante será strlen(dest) + maxlong.
Valor de retorno:
strncat devuelve un puntero a la cadena concatenada.

Ejemplo de uso:

#include
#include
using  namespace  std;

int  main(){
   char *cadena1 = "Cadena de";
   char *cadena2 = " ejemplo";
   char cadena3[126];

   strcpy(cadena3, cadena1);
   cout << strncat(cadena3, cadena2, 5) << endl;
   return  0;
}

.
.

Función strtok()
Busca dentro de una cadena conjuntos de caracteres o símbolos (tokens) separados por delimitadores.

char *strtok(char *s1, constchar *s2);

strtok considera la cadena s1 como una lista de símbolos separados por delimitadores de la forma de s2.

La primera llamada a strtok devuelve un puntero al primer carácter del primer símbolo de s1 e inserta un carácter nulo a continuación del símbolo retornado. Las siguientes llamadas, especificando null como primer argumento, siguen dando símbolos hasta que no quede ninguno.
El separador, s2, puede ser diferente para cada llamada.
Valor de retorno:
strtok devuelve un puntero al símbolo extraído, o NULL cuando no quedan símbolos.
Ejemplo de uso:

#include
#include
using  namespace  std;

int  main(){
   char entrada[32] = "abc,d,efde,ew,231";
   char *p;

   // La primera llamada con entrada
   p = strtok(entrada, ",");
   if(p) cout << p << endl;

   // Las siguientes llamadas con NULL
   while(p) {
      p = strtok(NULL, ",");
      if(p) cout << p << endl;
   }
   return  0;
}

Referencia

COMPARTE ESTE ARTÍCULO Y MUESTRA LO QUE APRENDISTE

0 Comentarios

para escribir tu comentario

Artículos relacionados