string functions c
In questo tutorial, discuteremo alcune delle funzioni stringa popolari in C ++ come sottostringa getline, lunghezza della stringa, trova stringa, stringa divisa ecc .:
C ++ ha una classe stringa che viene utilizzata per una sequenza di caratteri nota anche come stringhe. Questa classe è std :: string . Questa classe memorizza le stringhe come una sequenza di byte di caratteri e fornisce funzioni che ci consentono di manipolare, accedere e leggere le stringhe, nonché accedere e manipolare singoli caratteri.
come trasformare un video di YouTube in un file wav
=> Visita qui per il corso completo C ++ degli esperti.
Cosa imparerai:
Funzioni stringa C ++
La stringa C ++ è una sequenza di caratteri. Quando definiamo stringhe in C ++, usiamo una stringa
parola chiave che non è altro che std :: string class. Questa classe di stringhe supporta varie funzioni dalla lettura di una stringa, manipolazione, accesso a una stringa, ecc. Che eseguono diverse operazioni sugli oggetti stringa. Di seguito sono elencate alcune funzioni utilizzate di frequente:
No | Funzioni di stringa | Descrizione |
---|---|---|
uno | getline | Ottiene la riga dal flusso alla stringa |
Due | substr | Ottieni una sottostringa di una data stringa |
4 | Lunghezza, strlen | Ottieni la lunghezza della stringa |
5 | Trova | Trova contenuto in stringa |
6 | Strtok, substr con delimitatore | Dividi la stringa in gettoni |
getline C ++
Prototipo di funzione: istream & getline (istream & is, string & str)
Parametro (i): is => istream oggetto da cui vengono estratti i caratteri.
str => Oggetto stringa utilizzato per memorizzare il carattere estratto.
Valore di ritorno: Il valore restituito è lo stesso di istream. Internamente, l'esecuzione di getline imposta alcuni flag interni come segue.
bandiera | Descrizione dell'errore |
---|---|
eofbit | Fine della fonte dei caratteri raggiunta |
failbit | L'input non può essere interpretato come una valida rappresentazione testuale dell'oggetto di questo tipo |
badbit | Qualsiasi altro errore tranne i due precedenti |
Descrizione: getline è una funzione di libreria standard. Questa funzione viene utilizzata per leggere una riga o una stringa da un flusso di input standard come istream. Le righe o le stringhe vengono lette fino a quando non si incontra ' n', considerato come carattere di delimitazione.
Come versione diversa di getline, è possibile specificare un terzo parametro 'char delim'. Questo è un carattere delimitatore specificato esplicitamente. In questa funzione, una riga di testo o una stringa verrà letta fino a quando non viene incontrato il carattere delimitatore specificato.
Di seguito è riportato un semplice esempio per dimostrare l'utilizzo di getline.
Esempio:
#include #include using namespace std; int main() { string mystr; cout<<'Enter the input string:'< Produzione:
Immettere la stringa di input:
Tutorial C ++
Hai inserito: tutorial C ++

Nell'esempio sopra, leggiamo una stringa di input utilizzando la funzione getline. Notare che le stringhe o il testo immessi vengono letti nell'oggetto stringa mystr finché non si incontra ' n'.
C ++ Sottostr
Prototipo di funzione: stringa substr (size_t startpos, size_t endpos)
Parametro (i): startpos => Posizione di partenza da cui deve essere estratta la sottostringa.
endpos => Posizione finale della sottostringa.
Valore di ritorno: Restituisce una stringa che è una sottostringa della stringa genitore.
Descrizione: Questa funzione restituisce una sottostringa di una data stringa. La funzione accetta le posizioni iniziale e finale come parametri e quindi restituisce la sequenza di caratteri tra queste posizioni.
Esempio:
#include #include using namespace std; int main() { string mystr = 'SoftwareTestingHelp'; string mysub = mystr.substr(0,8); cout<<'Input string : '< Produzione:
Stringa di input: SoftwareTestingHelp
Sottostringa (0,8): software

Lunghezza C ++
La lunghezza della stringa è il numero di caratteri presenti nella stringa. La rappresentazione dell'oggetto std :: string delle stringhe in C ++ utilizza le funzioni length () per restituire la lunghezza della stringa.
Oltre a questo, abbiamo anche un metodo size che restituisce la dimensione della stringa. Abbiamo utilizzato il metodo delle dimensioni nell'esempio mostrato di seguito per la funzione length (). Un'altra funzione che restituisce la lunghezza della stringa è 'strlen'. Questa funzione restituisce la lunghezza della stringa indicata da un array di caratteri.
Vedremo entrambe le funzioni una per una con esempi.
lunghezza()
Prototipo di funzione: size_t lunghezza ()
Parametro (i): Richiamato dalla stringa la cui lunghezza deve essere rilevata.
Valore di ritorno: Restituisce un parametro di tipo size_t che è la lunghezza della stringa.
Descrizione: Questa funzione trova la lunghezza dell'oggetto stringa con cui viene invocato.
Esempio:
#include #include using namespace std; int main() { string mystr = 'SoftwareTestingHelp'; cout<<'Input string : '< Produzione:
Stringa di input: SoftwareTestingHelp
La lunghezza della stringa (con il metodo della lunghezza) è: 19
La dimensione della stringa (con il metodo della dimensione) è: 19

Nel programma sopra, usiamo le funzioni length e size dello std :: string che restituisce rispettivamente la lunghezza e la dimensione dell'oggetto stringa. Poiché lunghezza e dimensione restituiscono il numero di caratteri nella stringa, otteniamo lo stesso output.
strlen ()
Prototipo di funzione: size_t strlen (const char * str);
Parametro (i): str => Puntatore a una stringa con terminazione null la cui lunghezza deve essere trovata.
Valore restituito: R eturns size_t valore che indica la lunghezza della stringa str.
Descrizione: La funzione strlen () restituisce la lunghezza della stringa con terminazione null. La stringa che viene presa come parametro dalla funzione strlen è una matrice di caratteri con terminazione null.
Esempio:
#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; }
Produzione:
Lunghezza di mystr1 = 23
Lunghezza di mystr2 = 25
mystr2 è più lungo di mystr1

Nel programma sopra, abbiamo definito due stringhe differenti e troviamo la loro lunghezza individuale usando la funzione strlen. Quindi confrontiamo la lunghezza delle due stringhe e determiniamo se le stringhe sono uguali o disuguali.
C ++ Trova
Prototipo di funzione: size_t find (stringa mysub)
Parametro (i): mysub => Oggetto String da trovare all'interno della stringa genitore.
oops concetti in c # con esempi per esperti
Valore di ritorno: size_t => Prima posizione della sottostringa nella stringa genitore
Descrizione: La funzione find della stringa viene utilizzata per trovare la posizione della sottostringa nella stringa genitore. Questa funzione viene richiamata dalla stringa genitore e una sottostringa la cui posizione deve essere trovata viene passata come parametro. Se la sottostringa non è presente, viene restituita una posizione vuota.
Esempio:
#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 '< Produzione:
Prima occorrenza della stringa Test: 8
Prima occorrenza della stringa Help: 15

Questo programma definisce una stringa come 'SoftwareTestingHelp'. Usando la funzione find troviamo la prima occorrenza della stringa “Test” nella stringa genitore. Successivamente, troviamo l'occorrenza della stringa 'Help'. L'output è la posizione dell'occorrenza della stringa cercata.
convertitore da youtube a mp3 con foto
Stringa divisa
La divisione di una stringa utilizzando un delimitatore o un token è un'operazione utile. In C ++, poiché abbiamo più di una rappresentazione di stringhe, possiamo utilizzare approcci diversi per dividere una stringa. Qui discuteremo due approcci per dividere una stringa.
Splitting std :: string Object
L'approccio più semplice per dividere un oggetto stringa consiste nell'usare la funzione 'substr' sull'oggetto e fornire il delimitatore come posizione finale in modo da ottenere la sottostringa. In questo modo, possiamo dividere la stringa su delimitatore fino a quando non abbiamo attraversato l'intera stringa.
Vediamo l'esempio di seguito che prima trova la posizione del delimitatore utilizzando la funzione 'trova' e poi trova la sottostringa e infine restituisce ciascuno dei token.
#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; }
Produzione:
Questo
è
Software
test
Aiuto

Come mostrato nel programma precedente, specifichiamo un delimitatore che verrà utilizzato per dividere la stringa data. In un ciclo, troviamo ripetutamente l'occorrenza di delimitatore usando la funzione find, la passiamo alla funzione substr e recuperiamo la sottostringa. Quindi ciascuno di questi token ottenuti viene visualizzato come output.
Divisione della matrice di caratteri utilizzando la funzione strtok
Un altro modo per tokenizzare una stringa (suddividere la stringa utilizzando un delimitatore) è utilizzare la funzione 'strtok'. Discuteremo le specifiche della funzione 'strtok' di seguito.
Prototipo di funzione: char * strtok (char str (), const char * delim)
Parametro (i): str () => Stringa da dividere.
Delim => Delimitatore su cui la stringa deve essere suddivisa.
Valore di ritorno: Restituisce il token successivo dopo aver diviso la stringa genitore.
Descrizione: La funzione strtok divide la stringa data in token su determinati delimitatori. Questa funzione deve essere chiamata in un ciclo in modo da ottenere tutti i token per una data stringa. Quando non sono più presenti token, la funzione restituisce null.
Esempio:
#include #include using namespace std; int main() { char mystr() = 'This_is_software_testing_help'; char *token = strtok(mystr, '_'); while (token != NULL) { cout< Produzione:
Questo
è
Software
test
Aiuto

Nota che, in questo programma, usiamo la funzione strtok che accetta una stringa e un delimitatore come argomenti. Quindi divide la stringa nel token, in base al delimitatore specificato e visualizza i singoli token.
Conclusione
Abbiamo visto alcune delle importanti funzioni generali utilizzate per le stringhe C ++ in questo tutorial.
Abbiamo discusso le funzioni per leggere una stringa di input, trovare una stringa, sottostringa della stringa genitore, lunghezza della stringa, dividere una stringa, ecc. Insieme alle loro variazioni. Queste funzioni ci aiutano a leggere e manipolare le stringhe in modo efficiente.
Nel nostro prossimo tutorial, vedremo in dettaglio alcune delle funzioni di conversione utilizzate con la stringa C ++.
=> Visita qui per vedere l'intera serie di formazione C ++ per tutti.
Lettura consigliata
- Funzioni stringa Python
- Java String con String Buffer e String Builder Tutorial
- Funzioni di conversione dei caratteri C ++: da char a int, da char a stringa
- Funzioni stringa VBScript: funzioni VBScript inStr, Replace, Mid e Trim
- Tutorial Python String Split
- Esercitazione sulle stringhe in C #: metodi sulle stringhe con esempi di codice
- Funzioni Python
- String Array C ++: implementazione e rappresentazione con esempi