Het vergelijken van stringlengtes is een veelgebruikte functie in C-programmering, omdat het u kan vertellen welke string meer karakters heeft. Deze functie is erg handig bij het sorteren van gegevens. Strings vergelijken vereist een speciale functie; gebruik niet != of ==.
Stap
Stap 1. Er zijn 2 soorten functies die u kunt gebruiken om strings in C-taal te vergelijken
Beide functies zijn opgenomen in de bibliotheek.
- strcmp(): Deze functie vergelijkt twee tekenreeksen en retourneert het resultaat van het vergelijken van het aantal tekens ertussen.
- strncmp(): Deze functie is hetzelfde als strcmp(), behalve dat het de eerste n} tekens in de tekenreeks vergelijkt. Deze functie wordt als veiliger beschouwd omdat het voorkomt dat het programma door overbelasting vastloopt.
Stap 2. Voer het programma uit met de bibliotheken die u nodig hebt
We raden aan dat u en uitvoert, samen met andere bibliotheken die u nodig hebt voor een bepaald programma.
#include #include
Stap 3. Voer een functie uit
int. Dit is de gemakkelijkste manier om deze functie te leren, omdat het de integerwaarde retourneert van een vergelijking van het aantal tekens in twee strings.
#include #include int main() { }
Stap 4. Definieer de twee strings die u wilt vergelijken
We zullen bijvoorbeeld 2 strings van type char-gegevens vergelijken die eerder zijn gedefinieerd. U kunt de waarde die door deze functie wordt geretourneerd ook definiëren om het gegevenstype integer te hebben.
#include #include int main() { char *str1 = "appel"; char *str2 = "oranje"; int ret; }
Stap 5. Vergelijkingsfunctie toevoegen
Nadat u die twee tekenreeksen hebt gedefinieerd, kunt u een vergelijkingsfunctie toevoegen. We zullen strncmp() gebruiken, dus we moeten ervoor zorgen dat het aantal te meten tekens is ingesteld in de functie.
#include #include int main() { char *str1 = "appel"; char *str2 = "oranje"; int ret; ret = strncmp(str1, str2, 6); /*Deze functie vergelijkt beide ''string'' van 6 karakters */ }
Stap 6. Gebruik stellingen
Als … Anders om de vergelijking te maken. Nadat u een functie aan uw programma hebt toegevoegd, kunt u een instructie gebruiken om weer te geven welke string meer tekens heeft. strncmp() retourneert 0 als de strings hetzelfde aantal tekens hebben, een positief getal als str1 langer is en een negatief getal als str2 langer is.
#include #include int main() { char *str1 = "appel"; char *str2 = "oranje"; int ret; ret = strncmp(str1, str2, 6); if(ret > 0) { printf("str1 is langer"); } else if(ret < 0) { printf("str2 is langer"); } else { printf("Beide strings zijn even lang"); } terugkeer (0); }