Il confronto delle lunghezze delle stringhe è una funzione comunemente usata nella programmazione C, perché può dirti quale stringa ha più caratteri. Questa funzione è molto utile nell'ordinamento dei dati. Il confronto delle stringhe richiede una funzione speciale; non usare != o ==.
Fare un passo
Passaggio 1. Esistono 2 tipi di funzioni che è possibile utilizzare per confrontare le stringhe in linguaggio C
Entrambe queste funzioni sono incluse nella libreria.
- strcmp(): questa funzione confronta due stringhe e restituisce il risultato del confronto del numero di caratteri tra di esse.
- strncmp(): questa funzione è la stessa di strcmp(), tranne per il confronto dei primi n} caratteri nella stringa. Questa funzione è considerata più sicura perché impedisce lo stallo del programma a causa di un sovraccarico.
Passaggio 2. Esegui il programma con le librerie di cui hai bisogno
Ti consigliamo di eseguire e, insieme a qualsiasi altra libreria necessaria per un particolare programma.
#include #include
Passaggio 3. Eseguire una funzione
int. Questo è il modo più semplice per imparare questa funzione, perché restituisce il valore intero di un confronto del numero di caratteri in due stringhe.
#include #include int main() { }
Passaggio 4. Definire le due stringhe che si desidera confrontare
Ad esempio, confronteremo 2 stringhe di dati di tipo char che sono state definite in precedenza. È inoltre possibile definire il valore restituito da questa funzione per avere il tipo di dati intero.
#include #include int main() { char *str1 = "mela"; char *str2 = "arancione"; int ret; }
Passaggio 5. Aggiungi la funzione di confronto
Una volta definite queste due stringhe, puoi aggiungere una funzione di confronto. Useremo strncmp(), quindi dovremo assicurarci che il numero di caratteri da misurare sia impostato nella funzione.
#include #include int main() { char *str1 = "mela"; char *str2 = "arancione"; int ret; ret = strncmp(str1, str2, 6); /*Questa funzione confronterà entrambe le ''stringhe'' di 6 caratteri */ }
Passaggio 6. Utilizzare le istruzioni
Se… Altro per fare il confronto. Dopo aver aggiunto una funzione al programma, è possibile utilizzare un'istruzione per visualizzare quale stringa contiene più caratteri. strncmp() restituirà 0 se le stringhe hanno lo stesso numero di caratteri, un numero positivo se str1 è più lungo e un numero negativo se str2 è più lungo.
#include #include int main() { char *str1 = "mela"; char *str2 = "arancione"; int ret; ret = strncmp(str1, str2, 6); if(ret > 0) { printf("str1 è più lungo"); } else if(ret < 0) { printf("str2 è più lungo"); } else { printf("Entrambe le stringhe hanno la stessa lunghezza"); } ritorno(0); }