Strings en C++ - II Parte
Cuando trabajamos con cadenas largas y queremos separarlas por piezas pequeñas, nos son muy útiles las funciones: find() y substr(), dichas funciones son las más conocidas para trabajar con strings en C++, a continuación les mostraré como trabajan con un ejemplo de guia:
No olvidemos la librería: #include <string>
Bien para comenzar tenemos la cadena:
string s1="AI-ANALISIS Y DISENO-3-11-12-10";
Supongamos que queremos separar las palabras que estan separadas por los guiones (-) e imprimirlas en consola.
Lo que haremos es buscar el primer "-" de la cadena resultante y extraer lo que esta antes de ese guión, seguido de esto borrar una parte de la cadena hasta el guión encontrado, así vamos cortando pieza por pieza la cadena:
Bien el código sería el siguiente:
#include <cstdlib>
#include <iostream>
#include <string>
using namespace std;
int main(int argc, char *argv[])
{
string s1="AI-ANALISIS Y DISENO-3-11-12-10";
string aux=s1;
int pos=aux.find("-"); // aqui está la función find que busca la posicion de una cadena dentro de //otra cadena
aux = aux.substr(pos+1); // aqui está la función substr que corta la cadena desde la posición
//indicada (pos+1), es decir corta todo hasta el guión (posición = pos)
cout<<aux<<endl;pos=aux.find("-");
aux = aux.substr(pos+1);
cout<<aux<<endl;
pos=aux.find("-");
aux = aux.substr(pos+1);
cout<<aux<<endl;
pos=aux.find("-");
string nota1=aux.substr(0,pos);
aux = aux.substr(pos+1);
cout<<"Nota1(s):"<<nota1<<endl;
pos=aux.find("-");
string nota2=aux.substr(0,pos);
aux = aux.substr(pos+1);
cout<<"Nota2(s):"<<nota2<<endl;
pos=aux.find("-");
string nota3=aux.substr(0,pos);
aux = aux.substr(pos+1);
cout<<"Nota3(s):"<<nota3<<endl;
cout<<"--------FIN--------"<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}
No hay comentarios:
Publicar un comentario