martes, 8 de diciembre de 2015

CADENAS EN C++

013  CADENAS EN C / C++
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