Menu
Coddy logo textTech

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);  // true

Moż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.

quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Kompilator C++ online