Espacios de nombres
Variantes
Acciones

Diferencia entre revisiones de «cpp/string»

De cppreference.com
< cpp
m (Allow search engines to index popular pages.)
(Mejorar traducción)
Línea 1: Línea 1:
{{tr note|index}}
+
{{title|}}
{{title|Strings library}}
+
 
{{cpp/string/navbar}}
 
{{cpp/string/navbar}}
  
{{tr|El C + + biblioteca de cuerdas incluye soporte para dos tipos generales de cadenas:|The C++ strings library includes support for two general types of strings:}}
+
C++ incluye soporte para tipos generales de cadenas:
  
* {{tr|{{lc|std::basic_string}} - una clase con plantilla diseñada para manipular cadenas de cualquier tipo de caracteres .|{{lc|std::basic_string}} - a templated class designed to manipulate strings of any character type.}}
+
* {{lc|std::basic_string}} - una plantilla diseñada para manipular cadenas de cualquier tipo de caracteres.
* {{tr|Terminadas en nulo - conjuntos de caracteres terminada por un carácter especial'''' nulo .|Null-terminated strings - arrays of characters terminated by a special ''null'' character.}}
+
{{lc|std::}} - .
 +
* en nulo - de caracteres por un carácter especial ''nulo''.
  
 
=== {{lc|std::basic_string}} ===
 
=== {{lc|std::basic_string}} ===
{{tr|El {{lc|std::basic_string}} clase con plantilla generaliza como secuencias de caracteres son manipulados y almacenados. Cadena creación, manipulación y destrucción se manejan por un conjunto conveniente de los métodos de clase y funciones relacionadas .|The templated class {{lc|std::basic_string}} generalizes how sequences of characters are manipulated and stored.  String creation, manipulation, and destruction are all handled by a convenient set of class methods and related functions.}}
+
{{lc|std::basic_string}} generaliza secuencias de caracteres son manipulados y almacenados. creación, manipulación y destrucción se por un conjunto conveniente de métodos de clase y funciones relacionadas.
  
{{tr|Varias especializaciones de {{lc|std::basic_string}} se proporcionan para los tipos más utilizados:|Several specializations of {{lc|std::basic_string}} are provided for commonly-used types:}}
+
especializaciones de {{lc|std::basic_string}} para los tipos más :
  
 
{{dsc begin}}
 
{{dsc begin}}
 
{{dsc header | string}}
 
{{dsc header | string}}
{{dsc hitem |{{tr| Tipo | Type }}| Definition}}
+
{{dsc hitem | Tipo | }}
 
{{dsc | {{lc|std::string}} | {{c|std::basic_string<char>}}}}
 
{{dsc | {{lc|std::string}} | {{c|std::basic_string<char>}}}}
 
{{dsc | {{lc|std::wstring}} | {{c|std::basic_string<wchar_t>}}}}
 
{{dsc | {{lc|std::wstring}} | {{c|std::basic_string<wchar_t>}}}}
{{dsc | {{lc|std::u16string}} | {{c|std::basic_string<char16_t>}} | notes={{mark since c++11}}}}
+
{{dsc | {{lc|std::u32string}} | {{c|std::basic_string<char32_t>}} | notes={{mark since c++11}}}}
+
{{dsc | {{lc|std::u16string}} | {{c|std::basic_string<char16_t>}} | notes={{mark since c++11}}}}
 +
{{dsc | {{lc|std::u32string}} | {{c|std::basic_string<char32_t>}} | notes={{mark since c++11}}}}
 
{{dsc end}}
 
{{dsc end}}
  
===Terminadas en nulo===
+
=
{{tr|Terminadas en nulo son arreglos de caracteres que termina con un carácter especial'''' nulo. C + + proporciona funciones para crear, revisar, modificar y terminadas en nulo .|Null-terminated strings are arrays of characters that are terminated by a special ''null'' character.  C++ provides functions to create, inspect, and modify null-terminated strings.}}
+
=== {{||}}
  
{{tr|Hay tres tipos de series terminadas en nulo:|There are three types of null-terminated strings:}}
+
{{|:|:}}
  
* {{rl | byte |{{tr| terminadas en nulo de bytes| null-terminated byte strings}}}}
+
de {{|}}
* {{rl | multibyte |{{tr| terminadas en nulo de varios bytes| null-terminated multibyte strings}}}}
+
* {{rl | wide |{{tr| terminadas en nulo de ancho| null-terminated wide strings}}}}
+
  
===El apoyo adicional===
+
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 
 +
===
 +
 +
 
 +
 +
 
 +
 +
 +
 +
 
 +
adicional===
 
===={{rl| char_traits}}====
 
===={{rl| char_traits}}====
{{tr|La biblioteca también ofrece cadena {{rlt|char_traits}} clase de plantilla que define los tipos y funciones de {{lc|std::basic_string}}. Las especializaciones se entiende por:|The string library also provides class template {{rlt|char_traits}} that defines types and functions for {{lc|std::basic_string}}. The following specializations are defined:}}
+
La biblioteca también ofrece {{rlt|char_traits}}define los tipos y funciones de {{lc|std::basic_string}} {{lc|std::}}. :
  
 
{{dcl begin}}
 
{{dcl begin}}
 
{{dcl header | string}}
 
{{dcl header | string}}
{{dcl | notes=<br><br>{{mark since c++11}}<br>{{mark since c++11}} |
+
{{dcl | <> <>}}
template<> class char_traits<std::string>;
+
{{| template<> class char_traits<>;
template<> class char_traits<std::wstring>;
+
template<> class char_traits<>;
template<> class char_traits<std::u16string>;
+
template<> class char_traits<>;
template<> class char_traits<std::u32string>;
+
template<> class char_traits<>; }}
}}
+
 
{{dcl end}}
 
{{dcl end}}
 +
 +
 +
 +
 +
 +
 +
 +
  
 
[[ar:cpp/string]]
 
[[ar:cpp/string]]

Revisión de 14:19 12 dic 2019

La biblioteca de cadenas de C++ incluye soporte 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 manipulados y almacenados. 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 provee 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++ proporcionan funciones para crear, inspeccionar y modificar cadenas terminadas en nulo

Hay tres tipos de cadenasterminadas en nulo:

Soporte adicional

char_traits

La biblioteca de cadenas también ofrece la plantilla de clase char_traits, la cual define los tipos y funciones de std::basic_string y de std::basic_string_view. Están definidas 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 localizations library provee soporte para conversiones de cadena (e.g. std::wstring_convert o std::toupper) así como funciones que clasifican caracteres (e.g. std::isspace o std::isdigit).

Ver también

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