Espacios de nombres
Variantes
Acciones

Biblioteca de cadenas

De cppreference.com

La biblioteca de cadenas de C++ incluye apoyo para tres tipos generales de cadenas:

  • std::basic_string - Una plantilla de clase diseñada para manipular cadenas de cualquier tipo de caracteres.
  • std::basic_string_view (C++17) - Una vista sobre una subsecuencia de una cadena, ligera, que no posee los caracteres, y de sólo lectura.
  • Cadenas terminadas en nulo - Arrays de caracteres terminados por un carácter especial nulo.

Contenido

std::basic_string

La plantilla de clase std::basic_string generaliza cómo secuencias de caracteres son manipuladas y almacenadas. La creación, manipulación y destrucción de cadenas se maneja por un conjunto conveniente de métodos de clase y funciones relacionadas.

Se proporcionan varias especializaciones de std::basic_string para los tipos más comúnmente usados:

Definido en el archivo de encabezado <string>
Tipo Definición
std::string std::basic_string<char>
std::wstring std::basic_string<wchar_t>
std::u8string (desde C++20) std::basic_string<char8_t>
std::u16string (desde C++11) std::basic_string<char16_t>
std::u32string (desde C++11) std::basic_string<char32_t>

std::basic_string_view

La plantilla de clase std::basic_string_view proporciona un objeto ligero que ofrece acceso de sólo lectura a una cadena o parte de una cadena usando una interfaz similar a la interfaz de std::basic_string.

Se proporcionan varias especializaciones de std::basic_string_view para los tipos más comúnmente usados:

Definido en el archivo de encabezado <string>
Tipo Definición
std::string_view (desde C++17) std::basic_string_view<char>
std::wstring_view (desde C++17) std::basic_string_view<wchar_t>
std::u8string_view (desde C++20) std::basic_string_view<char8_t>
std::u16string_view (desde C++17) std::basic_string_view<char16_t>
std::u32string_view (desde C++17) std::basic_string_view<char32_t>
(desde C++17)

Cadenas terminadas en nulo

Las cadenas terminadas en nulo son arrays de caracteres que terminan con un carácter especial nulo. C++ proporciona funciones para crear, inspeccionar y modificar cadenas terminadas en nulo

Hay tres tipos de cadenas terminadas en nulo:

Apoyo adicional

char_traits

La biblioteca de cadenas también ofrece la plantilla de clase char_traits, que define los tipos y funciones de std::basic_string y de std::basic_string_view. Se definen las siguientes especializaciones:

Definido en el archivo de encabezado <string>
template<> class char_traits<char>;
template<> class char_traits<wchar_t>;
template<> class char_traits<char8_t>;
(desde C++20)
template<> class char_traits<char16_t>;
(desde C++11)
template<> class char_traits<char32_t>;
(desde C++11)

La biblioteca de localizaciones proporciona apoyo para conversiones de cadena (p. ej., std::wstring_convert o std::toupper) así como funciones que clasifican caracteres (p. ej., std::isspace o std::isdigit).

Véase también

Documentación de C++ para Biblioteca de localización
Documentación de C para Biblioteca de cadenas