string functions c
En este tutorial, analizaremos algunas de las funciones de cadena más populares en C ++, como la subcadena getline, la longitud de la cadena, la búsqueda de cadena, la cadena dividida, etc.
C ++ tiene una clase de cadena que se usa para una secuencia de caracteres que también se conoce como cadenas. Esta clase es std :: cadena . Esta clase almacena las cadenas como una secuencia de bytes de caracteres y proporciona funciones que nos permiten manipular, acceder y leer las cadenas, así como acceder y manipular caracteres individuales.
.net c # preguntas de la entrevista
=> Visite aquí para obtener el curso completo de C ++ de expertos.
Lo que vas a aprender:
Funciones de cadena de C ++
La cadena C ++ es una secuencia de caracteres. Cuando definimos cadenas en C ++, usamos una cadena
palabra clave que no es más que std :: string class. Esta clase de cadena admite varias funciones, desde leer una cadena, manipular, acceder a una cadena, etc., que realizan diferentes operaciones en objetos de cadena. Algunas funciones de uso frecuente se enumeran a continuación:
No | Funciones de cadena | Descripción |
---|---|---|
1 | obtener línea | Obtiene la línea de la secuencia a la cadena |
2 | substr | Obtener una subcadena de una determinada cadena |
4 | Longitud, strlen | Obtener la longitud de la cuerda |
5 | Encontrar | Encuentra contenido en cadena |
6 | Strtok, substr con delimitador | Dividir cadena en tokens |
getline C ++
Prototipo de función: istream & getline (istream & is, string & str)
Parámetro (s): is => istream objeto del que se extraen los caracteres.
str => Objeto de cadena que se utiliza para almacenar el carácter extraído.
Valor devuelto: El valor de retorno es el mismo que istream. Internamente, la ejecución de la línea de obtención establece ciertos indicadores internos de la siguiente manera.
bandera | Error de descripción |
---|---|
eofbit | Se llegó al final de la fuente del personaje |
fallo | La entrada no se puede interpretar como una representación textual válida del objeto de este tipo |
badbit | Cualquier otro error excepto los dos anteriores |
Descripción: getline es una función de biblioteca estándar. Esta función se utiliza para leer una línea o una cadena de un flujo de entrada estándar como istream. Las líneas o cadenas se leen hasta encontrar “ n” que se considera como carácter de delimitación.
Como versión diferente de getline, se puede especificar un tercer parámetro 'char delim'. Este es un carácter delimitador especificado explícitamente. En esta función, se leerá una línea de texto o una cadena hasta que se encuentre el carácter delimitador especificado.
A continuación se muestra un ejemplo simple para demostrar el uso de getline.
Ejemplo:
|_+_|Producción:
Ingrese la cadena de entrada:
Tutoriales de C ++
Ingresaste: tutoriales de C ++
En el ejemplo anterior, leemos una cadena de entrada usando la función getline. Tenga en cuenta que las cadenas o el texto ingresado se leen en el objeto de cadena mystr hasta que se encuentra ' n'.
Substr de C ++
Prototipo de función: string substr (size_t posiciones iniciales, size_t posiciones finales)
Parámetro (s): startpos => Posición inicial desde donde se extraerá la subcadena.
endpos => Posición final de la subcadena.
Valor devuelto: Devuelve una cadena que es una subcadena de la cadena principal.
Descripción: Esta función devuelve una subcadena de una determinada cadena. La función toma las posiciones inicial y final como parámetros y luego devuelve la secuencia de caracteres entre estas posiciones.
Ejemplo:
|_+_|Producción:
Cadena de entrada: SoftwareTestingHelp
Subcadena (0,8): Software
Longitud de C ++
La longitud de la cadena es el número de caracteres presentes en la cadena. La representación del objeto std :: string de cadenas en C ++ usa las funciones length () para devolver la longitud de la cadena.
Aparte de esto, también tenemos un método de tamaño que devuelve el tamaño de la cadena. Hemos utilizado el método de tamaño en el ejemplo que se muestra a continuación para la función length (). Otra función que devuelve la longitud de la cadena es 'strlen'. Esta función devuelve la longitud de la cadena indicada por una matriz de caracteres.
Veremos ambas funciones una a una con ejemplos.
largo()
Prototipo de función: size_t longitud ()
Parámetro (s): Invocado por la cadena cuya longitud se debe averiguar.
Valor devuelto: Devuelve un parámetro de tipo size_t que es la longitud de la cadena.
Descripción: Esta función encuentra la longitud del objeto de cadena por el que se invoca.
Ejemplo:
|_+_|Producción:
Cadena de entrada: SoftwareTestingHelp
La longitud de la cadena (con el método de longitud) es: 19
El tamaño de la cadena (con el método de tamaño) es: 19
En el programa anterior, usamos las funciones de longitud y tamaño de std :: string que devuelve la longitud y el tamaño del objeto de cadena respectivamente. Como la longitud y el tamaño devuelven el número de caracteres en la cadena, obtenemos el mismo resultado.
abrir un archivo eps en windows
strlen ()
Prototipo de función: size_t strlen (const char * str);
Parámetro (s): str => Puntero a una cadena terminada en nulo cuya longitud se debe averiguar.
Valor devuelto: R devuelve el valor size_t que indica la longitud de la cadena str.
Descripción: La función strlen () devuelve la longitud de la cadena terminada en nulo. La cadena que la función strlen toma como parámetro es una matriz de caracteres terminada en nulo.
Ejemplo:
|_+_|Producción:
Longitud de mystr1 = 23
Longitud de mystr2 = 25
mystr2 es más largo que mystr1
En el programa anterior, hemos definido dos cadenas diferentes y encontramos su longitud individual usando la función strlen. Luego, comparamos la longitud de las dos cuerdas y determinamos si las cuerdas son iguales o desiguales.
C ++ Buscar
Prototipo de función: size_t buscar (cadena mysub)
Parámetro (s): mysub => Objeto de cadena para encontrar dentro de la cadena principal.
Valor devuelto: size_t => Primera posición de la subcadena en la cadena principal
Descripción: La función de búsqueda de la cadena se utiliza para encontrar la posición de la subcadena en la cadena principal. Esta función es invocada por la cadena principal y una subcadena cuya posición se debe encontrar se pasa como parámetro. Si la subcadena no está presente, se devuelve una posición vacía.
Ejemplo:
|_+_|Producción:
Primera aparición de la prueba de cuerda: 8
Primera aparición de la cadena Help: 15
Este programa define una cadena como 'SoftwareTestingHelp'. Usando la función de búsqueda, encontramos la primera aparición de la cadena 'Prueba' en la cadena principal. A continuación, encontramos la aparición de la cadena 'Ayuda'. La salida es la posición de la aparición de la cadena buscada.
Cadena dividida
Dividir una cadena usando un delimitador o un token es una operación útil. En C ++, como tenemos más de una representación de cadenas, podemos usar diferentes enfoques para dividir una cadena. Aquí, discutiremos dos enfoques para dividir una cadena.
Dividiendo std :: string Object
El enfoque más fácil para dividir un objeto de cadena es usar la función 'substr' en el objeto y proporcionar el delimitador como posición final para obtener la subcadena. De esta forma, podemos dividir la cadena en el delimitador hasta que hayamos atravesado toda la cadena.
Veamos el ejemplo a continuación que primero encuentra la posición del delimitador usando la función 'buscar' y luego encuentra la subcadena y finalmente genera cada uno de los tokens.
|_+_|Producción:
la mejor herramienta de gestión de casos de prueba para jira
Esta
es
software
pruebas
ayuda
Como se muestra en el programa anterior, especificamos un delimitador que se utilizará para dividir la cadena dada. En un bucle, encontramos repetidamente la ocurrencia del delimitador usando la función find y lo pasamos a la función substr y recuperamos la subcadena. Luego, cada uno de estos tokens obtenidos se muestra como resultado.
División de la matriz de caracteres mediante la función strtok
Otra forma de tokenizar una cadena (dividiendo la cadena usando un delimitador) es usando la función 'strtok'. Discutiremos los detalles de la función 'strtok' a continuación.
Prototipo de función: char * strtok (char str (), const char * delim)
Parámetro (s): str () => Cadena a dividir.
Delim => Delimitador en el que se dividirá la cadena.
Valor devuelto: Devuelve el siguiente token después de dividir la cadena principal.
Descripción: La función strtok divide la cadena dada en tokens en delimitadores dados. Esta función debe llamarse en un bucle para obtener todos los tokens para una cadena determinada. Cuando no quedan más tokens, la función devuelve nulo.
Ejemplo:
|_+_|Producción:
Esta
es
software
pruebas
ayuda
Tenga en cuenta que, en este programa, usamos la función strtok que toma una cadena y un delimitador como argumentos. Luego, divide la cadena en el token, según el delimitador especificado y muestra los tokens individuales.
Conclusión
En este tutorial, hemos visto algunas de las funciones importantes generales que se utilizan para cadenas de C ++.
Discutimos las funciones para leer una cadena de entrada, encontrar una cadena, una subcadena de la cadena principal, la longitud de la cadena, dividir una cadena, etc. junto con sus variaciones. Estas funciones nos ayudan a leer y manipular cadenas de manera eficiente.
En nuestro próximo tutorial, veremos en detalle algunas de las funciones de conversión utilizadas con cadenas de C ++.
=> Visite aquí para ver la serie completa de capacitación en C ++ para todos.
Lectura recomendada
- Funciones de cadena de Python
- Tutorial Java String con String Buffer y String Builder
- Funciones de conversión de caracteres de C ++: char a int, char a cadena
- Funciones de cadena de VBScript: funciones de VBScript inStr, Replace, Mid y Trim
- Tutorial de división de cadenas de Python
- Tutorial de cadenas de C #: métodos de cadena con ejemplos de código
- Funciones de Python
- String Array C ++: implementación y representación con ejemplos