013 CADENAS EN
C / C++
Ing, Honoria Reyes Macedo
Ing, Honoria Reyes Macedo
Para manipular cadenas de texto existen diferentes funciones incluidas
en la biblioteca <string.h>. A continuación se listan algunas de dichas
funciones
Strchr Busca un carácter en una cadena
Strstr Busca una cadena en otra cadena y
retorna un puntero(direccion de su ubicacion)
Strcmp Compara
los primeros caracteres de una cadena con los primeros caracteres de otra
cadena
Strcmpi Compara
los primeros caracteres de una cadena con los primeros caracteres de otra
cadena(No importan si son mayusculas o minusculas)
Strcat Concatena
dos cadenas
Strcpy Reemplaza una cadena por otra
Strlwr Convierte a minusculas una cadena
Strrev Invierte el orden de los caracteres
en una cadena
Strupr Convierte a mayusculas una cadena
Strlen Indica la longitud de una cadena
Strtok Segmenta
una cadena
Strset Cambia los caracteres de una cadena
por otro caracter
Ejemplo de manejo de cadenas
#include
<iostream>
#include <string.h>
using namespace std;
void cadenaString();
void cadenasChar();
int main(){
cadenasChar();
cadenaString();
return 0;
}
void
cadenasChar(){
char cadena1[50];
char cadena2[50];
char *chrbuscaDir;
char *chrbuscaStr;
int comparar;
cout << "Ingresar cadena 1:
";
cin.getline(cadena1,50,'\n'); //Define el tamaño/
cout << "Ingresar cadena 2:
";
cin.getline(cadena2,50,'\n'); //Define el tamaño/
//Ejemplo de strchr
chrbuscaDir=strchr(cadena1,'r'); //Busca el
caracter indicado
if (chrbuscaDir!=NULL){
cout <<"Corta en donde
encuentra la r= " << strchr(cadena1,'r') +1 << endl<< endl;
cout <<"Primera posicion en
donde se encuentra la r= " << chrbuscaDir-cadena1+1 << endl<< endl;
}
//Ejemplo de strstr
chrbuscaStr=strstr(cadena1, cadena2); //Busca la cadena2
if (chrbuscaStr!=NULL){
cout<< "Encontro la cadena2=
" <<chrbuscaStr << endl << endl;
}
//Ejemplo de strcmp y
strcmpi
comparar=strcmp(cadena1,cadena2); //Si importa si son minusculas o mayusculas
comparar=strcmpi(cadena1,cadena2); //No importa si son minusculas o mayusculas
cout <<"comparar= "<<
comparar <<" ";
if (comparar>0) cout
<<"cadena1 es MAYOR que
cadena2" << endl << endl;
else if (comparar<0) cout
<<"cadena1 es MENOR que
cadena2" << endl <<
endl;
else if (comparar==0) cout
<<"cadena1 es IGUAL que cadena2" << endl << endl;
//Ejemplo de strcat
strcat(cadena1, cadena2); //Concatena dos cadenas
cout <<"Cadena1 concatenada=
"<< cadena1 << endl << endl;
//Ejemplo de strcpy
strcpy(cadena1, cadena2); //reemplaza cadena2
encima de cadena1
cout <<"Cadena1 reemplazada=
"<< cadena1 << endl << endl;
//Ejemplo de strlwr
cout <<"Convierte a minusculas=
" <<strlwr (cadena1) << endl <<endl;
//Ejemplo de strrev
cout <<"Invierte la cadena=
" <<strrev (cadena1) << endl <<endl;
//Ejemplo de strupr
cout <<"Convierte a Mayusculas=
" <<strupr (cadena1) << endl <<endl;
//Ejemplo de strlen
cout <<"Longitud de caracteres=
" <<strlen (cadena1) << endl <<endl;
//Ejemplo de strtok
chrbuscaStr = strtok(cadena1," "); //Segmenta en donde hay espacios y pone el
marcador NULL
chrbuscaStr = strtok(NULL, " ");
cout <<
"Token= " << chrbuscaStr << endl << endl;
//Ejemplo de strset
cout <<"Cambia los caracteres
por la letra a= " <<strset (cadena1,'a')
<< endl <<endl;
}
void cadenaString(){
string cad1,
cad2;
cout << "Ingresar cadena
1: ";
getline(cin,cad1);
cout << "Ingresar cadena 2:
";
getline(cin,cad2);
cout <<"Mostrar: " <<
cad1 <<" y " <<cad2<< endl <<endl;
cout <<"Inserta en la posicion 4
de la cadena1= "<< cad1.insert(4,cad2) << endl <<endl;
cout <<"Reempla a partir de la
posicion 4, 6 caracteres= "<< cad1.replace(4,6,cad2)<<"\n";
}
No hay comentarios.:
Publicar un comentario