Porównywanie ciągów znaków
Część sekcji Podstawy ścieżki C++ w Coddy. Lekcja 22 z 74.
W C++ porównywanie ciągów znaków można przeprowadzić na kilka sposobów. Ponieważ std::string jest klasą, ma przeciążone operatory, które sprawiają, że porównywanie ciągów znaków jest intuicyjne i proste.
Najczęstszym sposobem porównywania ciągów znaków jest użycie operatorów porównania (==, !=, <, >, <=, >=):
string str1 = "hello";
string str2 = "hello";
string str3 = "Hello";
bool result1 = (str1 == str2); // true
bool result2 = (str1 == str3); // false (z uwzględnieniem wielkości liter)
bool result3 = (str1 != str3); // trueMożesz także użyć metody compare(), która zwraca 0, jeśli ciągi znaków są równe, liczbę całkowitą ujemną, jeśli pierwszy ciąg znaków jest leksykograficznie mniejszy, oraz liczbę całkowitą dodatnią, jeśli jest większy. Pamiętaj, że dokładna wartość zależy od implementacji. Niekoniecznie jest to -1 lub 1:
string str1 = "a";
string str2 = "b";
string str3 = "c";
cout << str2.compare(str1) << endl;
// Dodatnia (b występuje po a)
cout << str2.compare(str3) << endl;
// Ujemna (b występuje przed c)
cout << str2.compare(str2) << endl;
// 0 (równe ciągi znaków)Spróbuj swoich sił
Ta lekcja nie zawiera wyzwania z kodem.
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Podstawy
4Operatory — część 1
Operatory arytmetyczneOperator moduloInkrementacja/dekrementacjaPostinkrementacja/postdekrementacjaSkrócone operatory arytmetyczneOperatory porównaniaPorównywanie ciągów znaków7Podstawy wejścia/wyjścia
Instrukcja coutInstrukcja cinWczytywanie ciągu znakówPowtórka — do 120Powtórka — prawda czy fałsz3Zmienne, część 2
Deklarowanie typówKonwencje nazewnictwaPowtórka — inicjalizacja zmiennychKonwersja typów, część 1Konwersja typów, część 26Podejmowanie decyzji
Instrukcja ifIf - elseInstrukcja switchOperator warunkowyPowtórzenie: if - elseZagnieżdżone if - elsePoćwicz samodzielnie: Kompilator C++ online