Jak porównać dwa ciągi znaków w programowaniu w C: 10 kroków

Spisu treści:

Jak porównać dwa ciągi znaków w programowaniu w C: 10 kroków
Jak porównać dwa ciągi znaków w programowaniu w C: 10 kroków

Wideo: Jak porównać dwa ciągi znaków w programowaniu w C: 10 kroków

Wideo: Jak porównać dwa ciągi znaków w programowaniu w C: 10 kroków
Wideo: Podaruj Laptopowi Drugie Życie I Zainstaluj Chrome OS Flex! I TECH Poradnik 2024, Kwiecień
Anonim

Porównywanie długości łańcucha jest powszechną funkcją w programowaniu w C, ponieważ pozwala zobaczyć, który łańcuch zawiera więcej znaków. Jest to bardzo przydatne przy sortowaniu danych. Porównywanie ciągów wymaga specjalnej funkcji; nie używaj != lub ==.

Kroki

Porównaj dwie struny w kroku 1 programowania w języku C
Porównaj dwie struny w kroku 1 programowania w języku C

Krok 1. Istnieją dwie funkcje, które umożliwiają porównywanie ciągów w C

Obie te funkcje są zawarte w bibliotece.

  • strcmp() - ta funkcja porównuje dwa ciągi i zwraca porównawczą różnicę w liczbie znaków.
  • strncmp() - to to samo co strcmp(), z wyjątkiem tego, że porównuje pierwsze n znaków. Jest uważany za bezpieczniejszy, ponieważ pomaga zapobiegać awariom przed przepełnieniem.
Porównaj dwa ciągi znaków w kroku 2 programowania w języku C
Porównaj dwa ciągi znaków w kroku 2 programowania w języku C

Krok 2. Uruchom program z niezbędnymi bibliotekami

Będziesz potrzebować zarówno bibliotek i, jak i wszystkich innych, których możesz potrzebować w swoim konkretnym programie.

#włącz #włącz

Porównaj dwa ciągi w programowaniu w C krok 3
Porównaj dwa ciągi w programowaniu w C krok 3

Krok 3. Rozpocznij

int funkcjonować.

Jest to najłatwiejszy sposób nauczenia się tej funkcji, ponieważ zwróci ona liczbę całkowitą porównującą długość dwóch ciągów.

#include #include int main () { }

Porównaj dwa ciągi znaków w kroku 4 programowania w języku C
Porównaj dwa ciągi znaków w kroku 4 programowania w języku C

Krok 4. Zdefiniuj dwa ciągi, które chcesz porównać

W tym przykładzie porównamy dwa predefiniowane łańcuchy znaków. Będziesz także chciał zdefiniować wartość zwracaną jako liczbę całkowitą.

#include #include int main () { char *str1 = "jabłko"; char *str2 = "pomarańczowy"; int ret; }

Porównaj dwa ciągi w C Programowanie Krok 5
Porównaj dwa ciągi w C Programowanie Krok 5

Krok 5. Dodaj funkcję porównania

Teraz, gdy masz już zdefiniowane dwa ciągi, możesz dodać funkcję porównania. Zamierzamy użyć strncmp(), więc musimy upewnić się, że liczba znaków do zmierzenia jest ustawiona w funkcji.

#include #include int main () { char *str1 = "jabłko"; char *str2 = "pomarańczowy"; int ret; ret = strncmp(str1, str2, 6); /*Porówna to dwa ciągi o długości do 6 znaków */ }

Porównaj dwa ciągi znaków w kroku 6 programowania w języku C
Porównaj dwa ciągi znaków w kroku 6 programowania w języku C

Krok 6. Użyj

Jeśli inaczej oświadczenie do przeprowadzenia porównania.

Teraz, gdy masz już tę funkcję, możesz użyć instrukcji If…Else, aby wyświetlić, który ciąg jest dłuższy. strncmp() zwróci 0, jeśli łańcuchy są tej samej długości, liczbę dodatnią, jeśli słowo1 jest większe, i liczbę ujemną, jeśli słowo2 jest większe.

#include #include int main () { char *str1 = "jabłko"; char *str2 = "pomarańczowy"; int ret; ret = strncmp(str1, str2, 6); if(ret > 0) { printf("str1 jest dłuższe"); } else if(ret < 0) { printf("str2 jest dłuższe"); } else { printf("Dwa łańcuchy są równe"); } return(0); }

Zalecana: