Caso insensibile stringa confronta in c ++

Caso insensibile stringa confronta in c ++
Il confronto è stato un concetto molto noto e più usato in molti campi. Quando si tratta di linguaggi di programmazione, eravamo soliti confrontare i numeri per la maggior parte del tempo. Ma non è così in tutti i linguaggi di programmazione. Alcuni dei linguaggi di programmazione come C ++ ci offrono anche l'opportunità di confrontare i valori del tipo di stringa. Questo può essere fatto ignorando la sensibilità al caso di quelle stringhe usando alcuni metodi integrati. Pertanto, all'interno del nostro articolo di oggi, discuteremo di questi metodi per fare un confronto insensibile al caso di stringa in C++. Quindi, iniziamo aprendo Ubuntu 20.04 Console terminale tramite "ctrl+alt+t".

Esempio 01: Utilizzo del metodo STRCASECMP

Qui abbiamo iniziato il nostro primo esempio creando un file che deve contenere l'estensione C ++. La query touch è stata utilizzata per questo scopo specifico. Successivamente, un utente deve aprire il file appena creato per aggiungere un po 'di codice ad esso. Un utente può utilizzare qualsiasi editor integrato di Ubuntu 20.04 come vim, testo o nano editore. Quindi, abbiamo utilizzato il nano editore qui secondo la nostra facilità e la nostra rapida modifica. Quindi, la parola chiave "nano" viene utilizzata qui per aprire il "caso.File CC ”nell'editor Nano. Il tuo file verrà aperto nell'editor vuoto.

Abbiamo avviato il codice C ++ con alcuni file di intestazione unici e necessari. Questi file di intestazione vengono inclusi usando la parola chiave "include" con il segno hash. I file di intestazione includono l'intestazione del flusso "input-output", l'intestazione "stringa" e l'intestazione "cstring" per utilizzare il metodo strcasecmp () nel codice. Lo spazio dei nomi standard è essenziale per utilizzare ulteriormente le clausole COUT e CIN nel codice. Il metodo principale () è stato in corso con l'inizializzazione di variabili di tipo a due stringa S1 e S1, con alcuni valori di stringa in esso. Puoi vedere che entrambe le stringhe hanno ottenuto quasi gli stessi valori con un piccolo caso di insensibilità. L'istruzione "if" viene utilizzata qui per confrontare le due variabili di stringa S1 e S2.

La funzione "strcasecmp ()" è stata utilizzata nell'istruzione "if" e prende entrambe le variabili di stringa S1 e S2 da confrontare. Questa funzione ignorerà il loro caso e verificherà se entrambe le stringhe sono abbinate o non utilizzano un singolo byte contemporaneamente tramite il metodo "C_STR ()". Se il byte di S1 ​​corrisponde con lo stesso byte Place della stringa S2, restituirà 0. Nell'ultimo, se tutti i risultati restituiti sono uguali 0, mostra che la stringa S1 è simile a S2, ignorando il loro caso. Pertanto, l'istruzione "if" eseguirà la prima dichiarazione "cout" che mostra che entrambe le stringhe sono abbinate. Altrimenti, l'altra parte dell'istruzione "if" eseguirà e mostrerà che le stringhe non sono abbinate. La clausola di ritorno terminerà semplicemente il metodo principale () qui. Il nostro programma è completato qui. Salviamolo rapidamente con il collegamento "Ctrl+S" e smettiamo con "Ctrl+X". Questo è un passo necessario prima di andare alla fase di compilazione e esecuzione.

Ora che il file è stato salvato e siamo tornati al terminale, è tempo di compilarlo rapidamente. Per la compilazione di qualsiasi file C ++ in Ubuntu 20.04, hai bisogno di un compilatore "G ++". Se non ne hai uno, prova a installarlo con il pacchetto "Apt". Altrimenti, il tuo codice non si tradurrà come dovrebbe. Quindi, abbiamo compilato il "caso.File CC "con il compilatore" G ++ ", che ha avuto successo. Successivamente, l'ultimo passo è stato l'esecuzione di questo file compilato. Questo è stato fatto con l'aiuto di "./UN.istruzioni fuori ". Abbiamo il messaggio "Strings corrispondenti ..." poiché sia ​​le stringhe S1 che S2 sono uguali in confronto ma diverse nel loro caso.

Esempio 02: Utilizzo del metodo StrnCaseCMP

Prendiamo un altro esempio simile nel confrontare le stringhe insensibili a due casi in C++. Questa volta, utilizzeremo il metodo "strncasecmp ()" invece della funzione simile "strcasecmp ()". Entrambi funzionano in modo abbastanza simile, ma il metodo "strncasecmp ()" funziona in modo leggermente diverso. Questa funzione prende 3 argomenti mentre il metodo "strcasecmp ()" ne prende 2 come abbiamo fatto nel primo esempio. Il codice è simile al primo codice di esempio con una modifica minore in due posizioni. La prima modifica è stata effettuata nel valore di S2 di seconda stretta, dove abbiamo appena cambiato la posizione di un contenuto di stringa secondo il nostro desiderio. La seconda modifica è stata effettuata nell'istruzione "if" in cui abbiamo aggiunto il terzo parametro nella funzione "strncasecmp ()". Questo parametro prende un valore intero per specificare il numero di caratteri da entrambe le stringhe da abbinare o confrontare, i.e., Primo 5. Ciò significa che verranno confrontati solo i primi 5 caratteri da entrambe le stringhe e il risultato verrà generato in base a quello.

Se il confronto ha avuto successo ed entrambe le stringhe hanno ottenuto gli stessi personaggi ignorando la loro sensibilità al caso, restituirà 0 e la prima dichiarazione Cout verrà eseguita. Altrimenti, verrà eseguita la prossima clausola Cout. Salviamo solo con il collegamento "Ctrl+S" e lascia il file con "Ctrl+X" per tornare al terminale. Ora è il nostro turno per la compilation.

Dopo la compilazione, il comando di esecuzione mostra che le stringhe non sono abbinate perché i primi 5 caratteri di entrambe le stringhe sono diversi.

Esempio 03: Utilizzo del metodo Confront ()

Facciamo il nostro ultimo ma non ultimo metodo per confrontare le stringhe insensibili a due casi in C++. Il codice è stato avviato con i file di intestazione, i.e., iostream e algoritmo. L'iostream viene utilizzato per il flusso di input-output, ma l'intestazione "algoritmo" viene utilizzata per utilizzare il metodo confronta. Dopo le intestazioni, lo "spazio dei nomi" standard viene utilizzato come necessario per l'uso di clausole "COUT" e "CIN" per visualizzare e ottenere l'input. Quindi, abbiamo iniziato la nostra funzione principale () del tipo di ritorno intero. Sta inizializzando le variabili di tipo stringa S1 e S2. Entrambe le stringhe contengono alcuni valori di stringa con diversa sensibilità al caso ma sono simili nei caratteri.

Il metodo "Transform ()" è stato applicato su entrambe le stringhe, S1 e S2, per convertirli nella maiuscola usando la funzione "Toupper ()" dall'inizio alla fine. Dopo la conversione, il metodo "Confront ()" è stato utilizzato nell'istruzione "if" per verificare se la stringa S1 è uguale a S2. Se il confronto di ciascun byte di carattere nello stesso luogo di entrambe le stringhe ritorna 0, significa che entrambi sono simili. Quindi, eseguirà la prima dichiarazione "cout" dicendo che le corde sono abbinate. Altrimenti, l'istruzione di "COUT" dell'Else verrà eseguita, dimostrando che le stringhe non sono le stesse. Il codice è completato qui.

Dopo la compilazione e l'esecuzione del file di codice, abbiamo ottenuto il messaggio "Strings corrispondenti ...". Entrambe le stringhe sono diventate le stesse dopo essere state convertite nella maiuscolo.

Conclusione:

Questo articolo è al massimo per spiegare il caso di stringa insensibile al caso C ++. Abbiamo usato le tre diverse funzioni nei nostri esempi per ottenere questa funzionalità i.e.strcasecmp (), strncasecmp (), trasform () e confronto (). Tutti gli esempi sono implementati su Ubuntu 20.04 Sistema e sono ugualmente eseguibili su altre distribuzioni Linux. Speriamo che troverai questo articolo molto utile durante l'apprendimento c++.