1.1 El concepto básico de contenedor String, operación convencional
-
La biblioteca de cadenas proporciona métodos como copiar, buscar, insertar y reemplazar. Cadena es una clase. Este contenedor tiene un puntero. El puntero mantiene la matriz completa.
-
# constructor de
string string str (otros objetos de la clase string);
string str ("string");
string str ('carácter'); string str; -
# operación básica del contenedor de cadenas (símbolo de asignación (=) y método de asignación assign ())
-
Tales como: str = str1;
str = "string";
str = 'character';
Nota: el significado de asignación se distingue del siguiente empalme) Método de asignación en la clase de string: assign (string & s);assign( char *s) assign( char *s,int n)//把字符串s从第n位开始 赋值。 assign( int n,char c) //将 n个字符c赋值进去 assign( string &s,int start,int n) 将s中的字符从第satrt位开始n个字符赋值进去
1.2 Operación de cadena de acceso del contenedor de cadena
- Operador sobrecargado [] como: string str = "HelloWorld"; al
que se puede acceder a través del operador sobrecargado [], str [0] para acceder al primer elemento 'H'
también se puede acceder a través del método en (int n)
str .at (0) es equivalente a str [0]
1.3 operación de empalme del contenedor de cuerdas
-
Operador sobrecargado "+ =": cadena & s, char * s, char s se pueden empalmar
-
Método de empalme: append () es
para (char * s);
(char * s, int n) empalma los primeros n caracteres de la cadena al final de la cadena;
(string & s);
(string & s, int pos, int n) Concatenar los n caracteres de la cadena s desde pos hasta el final de la cadena;![在这里插入图片描述](https://img-blog.csdnimg.cn/20200929204458973.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Nzg4MDQz,size_16,color_FFFFFF,t_70#pic_center)
1.4 Buscar (encontrar) y reemplazar (reemplazar) el contenedor de cadenas
-
Método de búsqueda:
encontrar: Encuentra la primera aparición de la cadena
(string & str, int pos = 0) para encontrar la primera
posición str de aparición , desde el principio para encontrar pos
(char * s, int pos = 0) es similar a
(char * s , int pos, int n) Encuentra la
posición de la primera aparición de s , dentro del n-ésimo rango de caracteres desde pos
(char c, int pos = 0) Si pos no está escrito, el valor predeterminado es 0rfind: Encuentra la última aparición de la cadena
(string & str, int pos = npos) Encuentra str la última
posición en el tiempo de ocurrencia , desde pos Find
(char * s, int pos = npos) similar a
(char * s, int pos, int n) Encuentra la posición de la última aparición de s, dentro del n-ésimo rango de caracteres desde pos
(char c, int pos = npos) Si pos no está escrito, el valor predeterminado es npos放回的值是到字符串首字母的距离
-
Método de reemplazo:
reemplazar: reemplazar
(int pos, int n, string & str) en el espacio de n caracteres desde el inicio de la cadena str y la posición pos de la cadena de destino
(int pos, int n, char * s) para reemplazar la cadena str con el carácter de destino La posición pos de la cadena comienza en el espacio de n caracteres
例如: string str = “world”;
str.replace(0,2,"Hello");
输出结果“Hellorlld”
1.5 Comparación de contenedores de cuerdas
Aquí está la cita
-
método de comparación:
str.compare(string& s) str.compare(char* s) str大就返回1 str小就返回-1 相等 就返回0 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200929210342875.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Nzg4MDQz,size_16,color_FFFFFF,t_70#pic_center)
1.6 Obtenga su propia subcadena en el contenedor de cadenas
- string substr (int pos = 0, int n = npos) const: // devuelve una cadena que consta de n caracteres que comienzan en pos
1.7 Inserción y eliminación en contenedor de cadenas
-
método de inserción:
insert (int pos, const char * s);
insert (int pos, const string & str); inserta la cadena str desde la posición de pos
insert (int pos, int n, char c) Inserta n en la posición de pos Carácter c -
método de borrado:
erase(int pos,int n = pos) 从pos 开始后的n个字符
1.8 Conversión entre objetos de cadena y char * en contenedores de cadena
-
格式 : string str = “Hola”;
char * s = NULL;
s = const_cast <char *> (str.c_str ());
cout << s << endl;![在这里插入图片描述](https://img-blog.csdnimg.cn/20200929211445690.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Nzg4MDQz,size_16,color_FFFFFF,t_70#pic_center)