C ++ Stringnpos

C ++ Stringnpos
C ++ è un linguaggio che viene utilizzato per rafforzare i concetti di programmazione di base e migliorare il pensiero logico dei programmatori. In C ++, ci occupiamo di array e stringhe poiché sono cruciali per qualsiasi linguaggio di programmazione. In array, archiviamo lo stesso tipo di dati e una stringa è come una serie di caratteri in grado di archiviare più di un personaggio. Per trovare la lunghezza dell'array, dovremmo conoscere le sue dimensioni che definiamo al momento dell'inizializzazione dell'array. Nel caso delle stringhe, a volte dobbiamo controllare l'intera stringa per trovare un carattere o una parola. Per trovare la dimensione della stringa, viene utilizzata la funzione Len (). Ma se vogliamo controllare la stringa o trovare un valore, come possiamo trovare un carattere o una parola in una stringa? A tale scopo, utilizziamo il metodo "String :: Npos" che è un valore statico costante. La parola "statica" si riserva la memoria per la variabile e "costante" dice al compilatore che questo valore non può essere modificato fino all'esecuzione del programma.

La "String :: Npos" è una costante statica che ha il valore più alto di -1 con un elemento "size_t" che indica il compilatore sulla dimensione di una stringa e dice come il compilatore controlla il carattere fino a quando non viene soddisfatto "size_t". Quando l'elemento richiesto corrisponde al valore di una stringa, il compilatore cambia automaticamente da -1 a 0 aumentando 1. "NPOS" non significa nessuna posizione, mostra la posizione ed è inizialmente impostato su -1. Quando si trova un elemento, viene incrementato.

Biblioteca:

#includere

Importando questo, saremo in grado di invocare tutti i metodi delle librerie standard di C++. Troviamo la lunghezza della stringa e confrontiamo la stringa con altre stringhe. Quindi, integrando questo file di intestazione, non è necessario importare separatamente le librerie. La "String :: NPOS" è una tecnica che viene utilizzata per trovare l'input e l'output e può essere utilizzata senza importare "iostream". Includendo la linea di codice precedentemente menzionata, possiamo utilizzare tutte le funzioni delle librerie standard nel nostro codice.

Sintassi:

statico const size_t npos = -1;
variabile_name != String :: NPOs

Non abbiamo bisogno di scrivere la prima affermazione perché è alimentata automaticamente. Questa istruzione controlla la stringa dall'indice 0 fino alla fine per trovare il record di corrispondenza da una stringa. Usiamo la seconda istruzione in cui vogliamo verificare se gli elementi di quella stringa corrispondono agli elementi dell'altra stringa. Se corrisponde, restituisce vero. Altrimenti, l'affermazione diventa falsa. Senza entrare nel corpo della condizione, il compilatore esegue l'istruzione successiva.

C ++ trova gli elementi stringa includendo il file di intestazione nel codice

Impariamo come utilizzare il metodo "String :: Npos" importando il file di intestazione #include.

Codice:

#includere
Utilizzo dello spazio dei nomi std;
int main ()
String str_0 = "the";
String str_1 = "Elizabeth the Queen";
int is_found = str_1.trovare (str_0);
if (is_found != String :: Npos)
cout<

Nella prima dichiarazione, importiamo il file di intestazione in modo da poter utilizzare qualsiasi funzione di qualsiasi libreria standard. Quindi, inizializza le variabili di tipo a due stringa denominate "str_0" e "str_1". Questo viene fatto all'interno della funzione principale (). Successivamente, dichiara un'altra variabile che è "is_found" di tipo intero che salva il risultato. Usa il .Trova () metodo per trovare la stringa "str_0" in "str_1". Se viene trovata la stringa richiesta, restituisce l'indice a "is_found" in cui viene trovato il valore. Ora, usa l'istruzione "if" condizionale per verificare se "is_found" è uguale a "String :: Npos" o no. Qui, il valore di "String :: NPOS" è -1. Quando la stringa non viene trovata e "is_found" ha il valore di -1, la condizione diventa falsa. Quando una condizione è vera, il compilatore esegue il corpo di "if" che contiene un'istruzione "cout" per stampare il testo e l'indice in cui si trova il valore "str_0".

Produzione:

il trovato a: 10

C ++ trova la stringa 1 nella stringa 2 usando il metodo "String :: Npos"

Troviamo la stringa in un'altra stringa con l'aiuto della funzione "String :: Npos".

Codice:

#includere
Utilizzo dello spazio dei nomi std;
int main ()
String str_0 = "my";
stringa str_1 = "colora i capelli";
int is_found = str_1.trovare (str_0);
if (is_found != String :: Npos)
cout<
altro
cout<<"Not Found";

Qui, integrare la libreria in modo da poter accedere al metodo "cout" di questa libreria. Nel metodo principale (), sono dichiarate variabili di tipo a due stringhe, "str_0" e "str_1". Nell'istruzione successiva, la variabile di tipo intero "IS_FOUND" viene inizializzata. Contiene l'output quando vengono confrontate due stringhe. Il metodo Find () viene applicato e trova la stringa "str_0" in "str_1". Se si trova, l'indice in cui viene trovato il valore viene restituito a "is_found". Ora, controlla che il valore "is_found" corrisponda o no "String :: Npos". A tale scopo, invochiamo la dichiarazione "if". Se la condizione viene soddisfatta, viene eseguita il corpo dell'istruzione "if". Altrimenti, la dichiarazione "else" viene eseguita. Il corpo del "if" ha un messaggio con l'indice in cui il valore richiesto si trova nella stringa e il corpo di "altro" contiene un messaggio di non trovato.

Produzione:

Il mio trovato a: 6

C ++ usa "String :: Npos" creando una funzione

Costruiamo una funzione e quindi chiamiamo quella funzione nel metodo principale () per trovare la prima stringa nel secondo.

Codice:

#includere
Utilizzo dello spazio dei nomi std;
void function_str (string str_0, string str_1)

int got = str_0.trovare (str_1);
Se (ottenuto != String :: Npos)
cout<< str_1<< " Found at: "<< (got) <
altro
cout<< str_1 << " is not found ";

int main ()

string Str_0 = "Il mio libro è";
String str_1 = "libro";
string Str_2 = "my";
function_str (str_0, str_1);
function_str (str_0, str_2);
restituzione 0;

Innanzitutto, il metodo function_str () è chiamato. Qui, passiamo due argomenti in esso. All'interno di questa funzione, definire la variabile tipo intero "get" e assegnarla con "str_0.Trova (str_1) ". Questa funzione determina l'indice del valore in cui lo "str_1" si trova in "str_0". Successivamente, usa "If" per scoprire se "GOT" è uguale a "String :: NPO" o no. L'organismo "if" viene impiegato se la condizione è soddisfatta e la dichiarazione "else" viene impiegata se la condizione non è soddisfatta. Ora, invoca il metodo principale (). Qui, dichiariamo le variabili del tipo a tre stringa come "str_0", "str_1" e "str_2". Nell'istruzione successiva, chiama il metodo function_str () e passa due attributi. Il metodo viene elaborato e stampa un messaggio di trovato o non trovato sulla console. Il vantaggio di utilizzare questo metodo è che non importa quante volte chiamiamo questa funzione; elaborerà ogni volta che lo chiamiamo. Qui, chiamiamo questo metodo due volte e passiamo i diversi argomenti.

Produzione:

Libro trovato a: 3
Il mio trovato a: 0

Conclusione

Abbiamo studiato il metodo "String :: Npos" della stringa per abbinare una stringa con un'altra. Questa metodologia viene anche applicata per verificare se un elemento specifico di una stringa è presente nell'altra stringa o no. Abbiamo iniziato l'articolo con una breve introduzione alle stringhe e al metodo String :: NPOS. Vengono anche discussi gli importanti file di intestazione che vengono importati nel codice per chiamare questo metodo. Questo articolo contiene in dettaglio gli esempi di sintassi e codifica della "stringa :: npos". Questo articolo ti porta l'uso del metodo "String :: Npos" con applicazione pratica.