Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Caso Uso Libreria String-C
Caso Uso Libreria String-C
Facultad de Ingeniería
Programa de Ingeniería de Sistemas
Programación I
USO DE LA LIBRERÍA STRING
MATERIAL PARA ESTUDIO
USOS DE LA LIBRERÍA STRING
Contexto del caso:
<string> es un archivo de la Biblioteca estándar del lenguaje de programación C++
que contiene la definición de objetos, métodos con sobrecarga de operadores para
realizar operaciones normales de asignación y comparación, funciones y tipos que
me permiten algunas operaciones de manipulación de memoria con los objetos de
tipo string (cadenas)
1. ESTRUCTURA DE DATOS:
Un string es una cadena de elementos de tipo char, almacenados en un vector.
Se definen:
string nombre, direccion;
Se capturan y se imprimen:
cout<<"Digite su nombre: ";
cin>>nombre; //para capturar dato y almacenar en nombre
cout<<nombre; //para mostrar en pantalla el dato almacenado en nombre
cout<<"Digite su direccion: ";
cin>>dirección;
cout<<direccion;
Facultad de Ingeniería
Programa de Ingeniería de Sistemas
Programación I
USO DE LA LIBRERÍA STRING
2. INSTRUCCIONES:
Las siguientes instrucciones me permiten realizar operaciones de igualdad y
relación. Primero defino tres cadenas, dos de ellas con dato predeterminado.
string s1("feliz");
string s2(" cumpleanios");
string s3;
Con estas cadenas se pueden realizar las siguientes operaciones:
Operación lógica / igualdad
cout<<"s1 es \""<<s1<<"\"; s2 es \""<<s2<<"\"; s3 es \""<<s3<<"\n\n";
cout<<"\n\nEl resultado de comparar s2 y s1:"<<"\n s2 == s1 arroja ";
cout<<(s2 == s1 ? "Verdadero" : "Falso");
Operación lógica / desigualdad
cout<<"\ns2 != s2 arroja "<<(s2 != s1 ? "Verdadero" : "Falso");
Operación lógica / mayor que / menor que / mayor o igual que / menor o igual que
cout<<"\ns2 > s1 arroja "<<(s2 > s1 ? "Verdadero" : "Falso");
cout<<"\ns2 < s1 arroja "<<(s2 < s1 ? "Verdadero" : "Falso");
cout<<"\ns2 >= s1 arroja "<<(s2 >= s1 ? "Verdadero" : "Falso");
cout<<"\ns2 <= s1 arroja "<<(s2 <= s1 ? "Verdadero" : "Falso");
Recordar la operación asignación condicionada
string s1("hola");
string s2(" mundo del ciberespacio");
string res;
cout<<res;
Escribe "Falso".
Facultad de Ingeniería
Programa de Ingeniería de Sistemas
Programación I
USO DE LA LIBRERÍA STRING
La función empty (NULL)
cout<<"\n\nPrueba s3.empty() :\n";
if(s3.empty())
//pregunta si s3 está vacio o NULL
{
cout<<"s3 es empty; asigna s1 a s3;\n";
s3 = s1;
//se asigna el contenido de una variable cadena a otra
cout<<"s3 es \""<<s3<<"\"";
}
El operador de concatenación += (sobrecargado)
cout<<"\n\ns1 += s2 arroja s1 = ";
s1 += s2;
cout<<s1;
La función substr: devuelve una subcadena de la cadena que lo invoca formada
por los caracteres que ocupan las posiciones entre 0 y 14 para este ejemplo.
cout<<"La subcadena de s1 comienza en la posicion 0 para\n";
cout<<"14 caracteres, s1.substr(0, 14), es:\n";
cout<<s1.substr(0,14)<<"\n\n";
Devuelve los caracteres que están al final después de la posición 15.
cout<<"La subcadena de s1 comienza en la \n";
cout<<"posicion 15, s1.substr(15), es:\n";
cout<<s1.substr(15)<<"\n\n";
Constructor de copia.
string *ptrS4 = new string(s1);
cout<<"\n*ptrS4 = "<<*ptrS4<<"\n\n";
Genera una copia a partir de una cadena (para el ejemplo en un apuntador de tipo
string, el apuntador sobrecargado con * devuelve el valor de la variable a la que
apunta.
Facultad de Ingeniería
Programa de Ingeniería de Sistemas
Programación I
USO DE LA LIBRERÍA STRING
Código fuente (
UsoLibString.cpp
)
#include <iostream>
#include <string>
using namespace std;
int main()
{
string s1("feliz");
string s2(" cumpleanios");
string s3;
delete ptrS4;
s1[0] = 'F';
s1[6] = 'C';
cout<<"\ns1 despues s1[0] = 'F' and s1[6] = 'C' es: ";
cout<<s1<<"\n\n";
return 0;
}