La clase basic_string
provee una interface genérica y útil para almacenar secuencias de caracteres (“cadenas”). Estas interfaces proveen la funcionalidad básica para la manipulación de texto en C++.
basic_string
está definido como una plantilla en la cabecera <string>
:
template <typename charT, typename Traits = char_traits<charT>, typename Allocator = allocator<charT> > class basic_string;
En esta definición, charT
se refiere al tipo de caracteres subyacente, que representa un elemento (letra).
Para el uso cotidiano se declaran dos especializaciones de basic_string
:
typedef basic_string<char> string; typedef basic_string<wchar_t> wstring;
La próxima versión del estándar, C++0x, declarará además dos nuevas especializaciones para el uso de cadenas de texto en Unicode:
typedef basic_string<char16_t> u16string; typedef basic_string<char32_t> u32string;
Para una mejor generalización, en las secciones siguientes se referirá como string
a una especialización cualquiera de basic_string
, con tipo de caracteres charT
.
Constructores | cómo crear cadenas desde arrays o series de caracteres |
Operadores | notación para asignar, concatenar, comparar, leer y escribir cadenas |
append | agregar caracteres o cadenas enteras a una cadena |
assign | asignar un valor específico desde caracteres o cadenas de C++ |
at | devolver un caracter en una posición |
begin | devolver un iterador al inicio de una cadena |
c_str | devolver una representación no modificable de una cadena como una cadena clásica de C |
capacity | devolver la cantidad de caracteres que la cadena puede almacenar |
clear | eliminar todos los caracteres |
compare | comparar dos cadenas |
copy | copiar caracteres de una cadena a un array |
data | devolver un puntero a los datos internos de una cadena |
empty | determinar si la cadena está vacía |
end | devolver un iterador al final de una cadena |
erase | eliminar caracteres de una cadena |
find | buscar caracteres en una cadena |
find_first_not_of | encontrar la primera ausencia de caracteres |
find_first_of | encontrar la primera ocurrencia de caracteres |
find_last_not_of | encontrar la última ausencia de caracteres |
find_last_of | encontrar la última ocurrencia de caracteres |
getline | leer datos desde un flujo de E/S a una cadena1) |
insert | insertar caracteres en una cadena |
length | devolver el largo de una cadena |
max_size | devolver el máximo número de caracteres que la cadena puede almacenar |
npos | un valor especial para indicar un “caracter no encontrado” o “todos los caracteres restantes” |
push_back | agrega un caracter al final de una cadena |
rbegin | devuelve un iterador_reverso al final de una cadena |
rend | devuelve un iterador_reverso al inicio de una cadena |
replace | reemplaza caracteres en una cadena |
reserve | reserva espacio mínimo en una cadena |
resize | cambia el tamaño de una cadena |
rfind | encuentra la última ocurrencia de una subcadena |
size | devuelve el número de caracteres en una cadena |
substr | devuelve una subcadena específica |
swap | intercambia los contenidos con otra cadena |