string functions c
En aquest tutorial, parlarem d'algunes de les funcions de cadena populars en C ++, com ara la subcadena getline, la longitud de la cadena, la cerca de cadenes, la cadena dividida, etc.:
C ++ té una classe de cadena que s’utilitza per a una seqüència de caràcters que també es coneix com a cadenes. Aquesta classe és std :: string . Aquesta classe emmagatzema les cadenes com una seqüència de bytes de caràcters i proporciona funcions que ens permeten manipular, accedir i llegir les cadenes, així com accedir i manipular caràcters individuals.
què és un fitxer 7z?
=> Visiteu aquí el curs complet C ++ d’experts.
Què aprendreu:
Funcions de cadenes C ++
La cadena C ++ és una seqüència de caràcters. Quan definim cadenes en C ++, fem servir una cadena
paraula clau que no és altra cosa que classe std :: string. Aquesta classe de cadenes admet diverses funcions: llegir una cadena, manipular, accedir a una cadena, etc., que realitzen diferents operacions en objectes de cadena. A continuació s’enumeren algunes funcions d’ús freqüent-
no | Funcions de corda | Descripció |
---|---|---|
1 | getline | Obté la línia del flux a la cadena |
2 | substr | Obteniu una subcadena d'una cadena determinada |
4 | Longitud, estreny | Obteniu la longitud de la corda |
5 | Troba | Cerqueu contingut en cadena |
6 | Strtok, substr amb delimitador | Divideix la cadena en fitxes |
getline C ++
Prototip de funció: istream & getline (istream & is, string & str)
Paràmetres: is => istream objecte del qual s'extreuen els caràcters.
str => Objecte de cadena que s'utilitza per emmagatzemar el caràcter extret.
Valor de retorn: El valor de retorn és el mateix que istream. Internament, l'execució del getline estableix certs indicadors interns de la següent manera.
bandera | Descripció de l'error |
---|---|
eofbit | S'ha arribat al final de la font del personatge |
failbit | L'entrada no es pot interpretar com una representació textual vàlida de l'objecte d'aquest tipus |
badbit | Qualsevol altre error excepte els dos anteriors |
Descripció: getline és una funció de biblioteca estàndard. Aquesta funció s'utilitza per llegir una línia o una cadena d'un flux d'entrada estàndard com istream. Les línies o cadenes es llegeixen fins que es troba ' n', que es considera un caràcter de delimitació.
Com a versió diferent de getline, es pot especificar un tercer paràmetre 'char delim'. Es tracta d'un caràcter delimitador especificat explícitament. En aquesta funció, es llegirà una línia de text o cadena fins que es trobi el caràcter delimitador especificat.
A continuació es mostra un exemple senzill per demostrar l’ús de getline.
Exemple:
#include #include using namespace std; int main() { string mystr; cout<<'Enter the input string:'< Sortida:
Introduïu la cadena d'entrada:
Tutorials C ++
Heu introduït: tutorials de C ++

A l'exemple anterior, llegim una cadena d'entrada mitjançant la funció getline. Tingueu en compte que les cadenes o el text introduït es llegeixen a l’objecte de cadena mystr fins que es troba ‘ n’.
C ++ Substr
Prototip de funció: string substr (size_t startpos, size_t endpos)
Paràmetres: startpos => Posició inicial des d'on s'ha d'extreure la subcadena.
endpos => Posició final de la subcadena.
Valor de retorn: Retorna una cadena que és una subcadena de la cadena pare.
Descripció: Aquesta funció retorna una subcadena d'una cadena determinada. La funció pren les posicions inicial i final com a paràmetres i després retorna la seqüència de caràcters entre aquestes posicions.
Exemple:
#include #include using namespace std; int main() { string mystr = 'SoftwareTestingHelp'; string mysub = mystr.substr(0,8); cout<<'Input string : '< Sortida:
Cadena d'entrada: SoftwareTestingHelp
Subcadena (0,8): programari

Longitud C ++
La longitud de la cadena és el nombre de caràcters presents a la cadena. La representació d'objectes std :: string de les cadenes en C ++ utilitza les funcions length () per retornar la longitud de la cadena.
A part d'això, també tenim un mètode de mida que retorna la mida de la cadena. Hem utilitzat el mètode de mida a l'exemple que es mostra a continuació per a la funció length (). Una altra funció que retorna la longitud de la cadena és 'strlen'. Aquesta funció retorna la longitud de la cadena denotada per una matriu de caràcters.
el millor convertidor gratuït de youtube a mp3
Veurem les dues funcions una per una amb exemples.
llargada()
Prototip de funció: mida_t longitud ()
Paràmetres: Invocat per la cadena la longitud del qual es pot esbrinar.
Valor de retorn: Retorna un paràmetre de tipus size_t que és la longitud de la cadena.
Descripció: Aquesta funció troba la longitud de l'objecte de cadena mitjançant el qual s'invoca.
Exemple:
#include #include using namespace std; int main() { string mystr = 'SoftwareTestingHelp'; cout<<'Input string : '< Sortida:
Cadena d'entrada: SoftwareTestingHelp
La longitud de la corda (amb el mètode de la longitud) és: 19
La mida de la cadena (amb el mètode de mida) és: 19

Al programa anterior, fem servir les funcions de longitud i mida de la cadena std :: que retorna la longitud i la mida de l'objecte de cadena respectivament. A mesura que la longitud i la mida retornen el nombre de caràcters de la cadena, obtenim la mateixa sortida.
strlen ()
Prototip de funció: size_t strlen (const char * str);
Paràmetres: str => Punter a una cadena de terminació nul·la la longitud de la qual es troba.
Valor de retorn: R eturns size_t valor que indica la longitud de la cadena str.
Descripció: La funció strlen () retorna la longitud de la cadena de terminació nul·la. La cadena que la funció strlen pren com a paràmetre és una matriu de caràcters amb finalització nul·la.
Exemple:
#include #include using namespace std; int main() { char mystr1() = 'This a our first string'; char mystr2() = 'This is our second string'; int len_mystr1 = strlen(mystr1); int len_mystr2 = strlen(mystr2); cout << 'Length of mystr1 = ' << len_mystr1 << endl; cout << 'Length of mystr2 = ' << len_mystr2 << endl; if (len_mystr1> len_mystr2) cout << 'mystr1 is longer than mystr2'; else if (len_mystr1 < len_mystr2) cout << 'mystr2 is longer than mystr1'; else cout << 'mystr1 and mystr2 are equal in length'; return 0; }
Sortida:
Longitud de mystr1 = 23
Longitud de mystr2 = 25
mystr2 és més llarg que mystr1

Al programa anterior, hem definit dues cadenes diferents i trobem la seva longitud individual mitjançant la funció strlen. A continuació, comparem la longitud de les dues cordes i determinem si les cordes són iguals o desiguals.
Cerca C ++
Prototip de funció: size_t find (cadena mysub)
Paràmetres: mysub => Objecte de cadena per trobar dins de la cadena pare.
Valor de retorn: size_t => Primera posició de la subcadena a la cadena pare
Descripció: La funció de cerca de la cadena s’utilitza per trobar la posició de la subcadena a la cadena pare. Aquesta funció és invocada per la cadena pare i es passa una subcadena la posició de la qual es troba com a paràmetre. Si la subcadena no és present, es torna una posició buida.
Exemple:
#include #include using namespace std; int main() { string mystr = 'SoftwareTestingHelp'; string mysub = 'Test'; size_t pos = mystr.find(mysub); if (pos != string::npos) cout << 'First occurrence of string '< Sortida:
Primera aparició de la prova de cadena: 8
Primera aparició de la cadena Ajuda: 15

Aquest programa defineix una cadena com a 'SoftwareTestingHelp'. Mitjançant la funció find trobem la primera ocurrència de la cadena 'Test' a la cadena pare. A continuació, trobem l'aparició de la cadena 'Ajuda'. La sortida és la posició de l’aparició de la cadena cercada.
Cadena dividida
Dividir una cadena amb un delimitador o un testimoni és una operació útil. A C ++, ja que tenim més d’una representació de cadenes, podem utilitzar diferents enfocaments per dividir una cadena. Aquí parlarem de dos enfocaments per dividir una cadena.
Dividint objecte std :: string
L’enfocament més senzill per dividir un objecte de cadena és utilitzar la funció ‘substr’ a l’objecte i proporcionar el delimitador com a posició final perquè obtinguem la subcadena. D’aquesta manera, podem dividir la cadena en delimitador fins que haguem recorregut tota la cadena.
Vegem l’exemple següent que primer troba la posició del delimitador mitjançant la funció ‘find’ i, a continuació, troba la subcadena i, finalment, emet cadascun dels tokens.
#include #include using namespace std; int main() { string mystr = 'This_is_software_testing_help'; string delimiter = '_'; size_t pos = 0; string token; while ((pos = mystr.find(delimiter)) != std::string::npos) { token = mystr.substr(0, pos); cout << token << endl; mystr.erase(0, pos + delimiter.length()); } cout << mystr<< endl; }
Sortida:
Això
és
programari
proves
ajuda

Com es mostra al programa anterior, especifiquem un delimitador que s’utilitzarà per dividir la cadena donada. En un bucle, trobem repetidament l’ocurrència del delimitador mitjançant la funció find i la passem a la funció substr i recuperem la subcadena. A continuació, cadascuna d'aquestes fitxes obtingudes es mostra com a sortida.
Dividir matriu de caràcters mitjançant la funció strtok
Una altra manera de simbolitzar una cadena (dividir la cadena mitjançant un delimitador) és mitjançant la funció ‘strtok’. A continuació, analitzarem els detalls de la funció ‘strtok’.
Prototip de funció: char * strtok (char str (), const char * delim)
Paràmetres: str () => Cadena a dividir.
proves de programari preguntes d’entrevistes amb respostes
Delim => Delimitador en què s'ha de dividir la cadena.
Valor de retorn: Retorna el següent testimoni després de dividir la cadena pare.
Descripció: La funció strtok divideix la cadena donada en fitxes en determinats delimitadors. Cal anomenar aquesta funció en un bucle perquè obtinguem totes les fitxes d’una cadena determinada. Quan ja no queden fitxes, la funció torna nul·la.
Exemple:
#include #include using namespace std; int main() { char mystr() = 'This_is_software_testing_help'; char *token = strtok(mystr, '_'); while (token != NULL) { cout< Sortida:
Això
és
programari
proves
ajuda

Tingueu en compte que, en aquest programa, fem servir la funció strtok que pren com a arguments una cadena i un delimitador. A continuació, divideix la cadena en el testimoni, segons el delimitador especificat i mostra els tokens individuals.
Conclusió
Hem vist algunes de les funcions importants generals que s’utilitzen per a les cadenes C ++ en aquest tutorial.
Vam discutir les funcions per llegir una cadena d'entrada, trobar una cadena, una subcadena de la cadena pare, la longitud de la cadena, dividir una cadena, etc. juntament amb les seves variacions. Aquestes funcions ens ajuden a llegir i manipular les cadenes de manera eficient.
Al nostre següent tutorial, veurem algunes de les funcions de conversió utilitzades amb la cadena C ++ en detall.
=> Visiteu aquí per veure tota la sèrie de formació C ++ per a tothom.
Lectura recomanada
- Funcions de cadena de Python
- Java String amb buffer de cadenes i tutorial de Generador de cadenes
- Funcions de conversió de caràcters C ++: char a int, char a string
- Funcions de cadenes VBScript: funcions VSScript inStr, Replace, Mid i Trim
- Tutorial de Python String Split
- Tutorial de cadenes C #: mètodes de cadenes amb exemples de codi
- Funcions Python
- String Array C ++: Implementació i representació amb exemples