Come confrontare una stringa in C++

How Compare String C



Il confronto delle stringhe è un'attività molto comune per qualsiasi linguaggio di programmazione. Viene utilizzato principalmente per convalidare i dati, come controllare il nome utente e la password delle informazioni di accesso. Il confronto di stringhe può essere eseguito utilizzando un operatore di confronto o utilizzando funzioni integrate. Due funzioni di confronto di stringhe utilizzate in C++ sono, strcmp() e confrontare() . Il strcmp() è una funzione di libreria di C per confrontare due stringhe. il c confrontare () è una funzione incorporata di C++ per confrontare due stringhe. I modi per confrontare le stringhe utilizzando gli operatori e le funzioni di confronto sono stati spiegati in questo tutorial.

Prerequisito:

Prima di controllare gli esempi di questo tutorial, devi verificare che il compilatore g++ sia installato o meno nel sistema. Se stai usando Visual Studio Code, installa le estensioni necessarie per compilare il codice sorgente C++ per creare il codice eseguibile. Qui, l'applicazione Visual Studio Code è stata utilizzata per compilare ed eseguire il codice C++.







Utilizzo dell'operatore di confronto per confrontare la stringa:

Il modo più comune per confrontare le stringhe in C++ è usare l'operatore di confronto. Questi sono operatori uguali (==) e non uguali (!=). Creare un file C++ con il codice seguente per confrontare due valori di stringa utilizzando l'operatore di confronto. Secondo il codice, un indirizzo URL verrà preso dall'utente e confrontato con altre stringhe utilizzando un operatore uguale (==). Se il valore di input corrisponde a qualsiasi stringa della condizione 'if', verrà stampato il messaggio specifico; in caso contrario, verrà visualizzato il messaggio della parte 'altro'.



//Include la libreria necessaria

#includere

usingnamespace std;

intmain() {
// Dichiara una variabile stringa
stringa url_addr;
// Prendi un indirizzo URL dall'utente
costourl_addr;
// Confronta il valore di input con un'altra stringa usando l'operatore equivalente
Se(url_addr== 'Google it')
costo<<'Si tratta di un motore di ricerca wensite.'<<fine;
altrimenti(url_addr== 'jooble.org')
costo<<'Si tratta di un sito di ricerca di lavoro.'<<fine;
altrimenti(url_addr== 'linuxhint.com')
costo<<'Si tratta di un sito web blog.'<<fine;
altro
costo<<'Nessuna informazione viene aggiunta per questo sito.'<<fine;

ritorno0;
}

Produzione:



Dopo aver eseguito il codice, se l'utente ha digitato ' linuxhint.com 'come input, verrà restituita la terza condizione 'if' Vero, e apparirà il seguente output.





Usando la funzione compare() per confrontare la stringa:

La funzione compare() confronta due stringhe e restituisce 0 o 1 o -1 in base al risultato del confronto. Il significato dei valori restituiti è riportato di seguito.



  • La funzione restituirà 0 quando entrambe le stringhe di confronto sono uguali.
  • La funzione restituirà 1 quando la prima stringa è maggiore della seconda stringa.
  • La funzione restituirà -1 quando la prima stringa è minore della seconda stringa.

Sintassi:

intstringa1.confrontare(stringa2)

Creare un file C++ con il codice seguente per confrontare due valori stringa con due valori di input utilizzando la funzione compare(). L'autenticazione di qualsiasi utente può essere verificata confrontando i valori inviati dagli utenti con i valori dell'utente autenticato. Questo processo di autenticazione è stato implementato nel codice seguente. L'indirizzo e-mail e la password validi sono stati memorizzati in due variabili stringa qui. Successivamente, questi valori sono stati confrontati con l'indirizzo e-mail e la password presi dall'utente utilizzando confrontare () funzione. La logica E operatore è stato utilizzato nel codice per autenticare l'utente. Il messaggio di successo verrà stampato se entrambe le funzioni compare() restituiscono True. In caso contrario, verrà stampato il messaggio di errore.

//Include la libreria necessaria

#includere

usingnamespace std;

intmain() {

//Inizializza due variabili stringa
string email('[e-mail protetta]');
stringa password('linuxhint');
//Dichiara due variabili stringa
stringa email_utente;
stringa user_password;

//Prendi l'indirizzo email dell'utente
costoemail_utente;

//Prendi la password dall'utente
costopassword utente;

//Controlla che il nome utente e la password siano validi o non validi
Se (utente_email.confrontare(e-mail) == 0&&password utente.confrontare(parola d'ordine) == 0 )
costo<<'Autenticazione riuscita.'<<fine;
altro
costo<<'L'email o la password non sono valide.'<<fine;

ritorno0;
}

Produzione:

Dopo aver eseguito il codice, se l'utente ha digitato ' [e-mail protetta] ' come indirizzo e-mail e ' 12345 'come password, verrà restituita la terza condizione 'if' falso, e apparirà il seguente output.

Dopo aver eseguito nuovamente il codice, se l'utente ha digitato ' [e-mail protetta] ' come indirizzo e-mail e ' linuxhint 'come password, verrà restituita la terza condizione 'if' Vero, e apparirà il seguente output.

Usando la funzione strcmp() per confrontare la stringa:

strcmp() è un'altra funzione per confrontare le stringhe in C++. Restituisce vero se entrambe le stringhe di confronto sono uguali. I parametri di input presi da questa funzione sono diversi dalla funzione compare(). La funzione di confronto accetta un valore stringa come parametro e la funzione strcmp() accetta l'array di caratteri come parametro. La sintassi di questa funzione è riportata di seguito.

Sintassi:

int strcmp ( cost char *str1, cost char *str2);

Crea un file C++ con il seguente codice per confrontare due stringhe usando la funzione strcmp(). Nel codice sono stati dichiarati due array di caratteri di 100 elementi per memorizzare i valori di stringa presi dagli utenti. Il getline() La funzione viene utilizzata per memorizzare l'input dell'utente nelle variabili dell'array di caratteri. Successivamente, il strcmp() la funzione ha utilizzato per verificare che i valori di input siano uguali o meno. Se la funzione ritorna Vero, quindi verrà stampato il messaggio di successo; in caso contrario verrà stampato il messaggio di errore,

//Include le librerie necessarie

#includere

#includere

usingnamespace std;

intmain() {
//Elimina due variabili stringa
charchrData1[100],chrData2[100];

//Prendi i dati della prima stringa
costo<<'Inserisci la prima stringa:';
Gin.getline(chrData1, 100);
//Prendi i dati della seconda stringa
costo<<'Inserisci la seconda stringa:';
Gin.getline(chrData2, 100);

Se ( strcmp (chrData1,chrData2)==0)
printf ('Le stringhe sono uguali ');
altro
printf ('Le stringhe non sono uguali ');

ritorno0;
}

Produzione:

Dopo aver eseguito il codice, il valore della stringa, ' Ciao ' viene fornito per entrambi i valori di input e verrà visualizzato il seguente output.

Conclusione:

In questo tutorial sono stati mostrati tre modi per confrontare le stringhe in C++ utilizzando tre semplici esempi. Sia gli usi dell'operatore di confronto che le funzioni integrate per il controllo dell'uguaglianza delle stringhe sono stati descritti in questo tutorial per aiutare i nuovi programmatori C++.