Menu
Coddy logo textTech

String Karşılaştırma

Coddy'nin C++ Journey'sinin Temeller bölümünün bir parçası — ders 22 / 74.

C++'da dizeleri karşılaştırmak birden fazla yolla yapılabilir. std::string bir sınıf olduğu için, dize karşılaştırmasını sezgisel ve basit hale getiren aşırı yüklenmiş operatörlere sahiptir.

Dizeleri karşılaştırmanın en yaygın yolu karşılaştırma operatörlerini (==, !=, <, >, <=, >=) kullanmaktır:

string str1 = "hello";
string str2 = "hello";
string str3 = "Hello";

bool result1 = (str1 == str2);  // true
bool result2 = (str1 == str3);  // false (büyük-küçük harf duyarlı)
bool result3 = (str1 != str3);  // true

Ayrıca, dizeler eşitse 0, ilk dize sözlüksel olarak daha küçükse negatif bir tam sayı ve daha büyükse pozitif bir tam sayı döndüren compare() metodunu da kullanabilirsiniz. Tam değerin uygulamaya bağlı olarak tanımlandığını unutmayın — mutlaka -1 veya 1 olması gerekmez:

string str1 = "a";
string str2 = "b";
string str3 = "c";

cout << str2.compare(str1) << endl; 
// Pozitif (b, a'dan sonra gelir)

cout << str2.compare(str3) << endl;
// Negatif (b, c'den önce gelir)

cout << str2.compare(str2) << endl;
// 0 (eşit dizeler)

Kopya kağıdı

C++'da, karşılaştırma operatörlerini veya compare() yöntemini kullanarak dizeleri karşılaştırabilirsiniz.

Karşılaştırma operatörlerini kullanma:

string str1 = "hello";
string str2 = "hello";
string str3 = "Hello";

bool result1 = (str1 == str2);  // true
bool result2 = (str1 == str3);  // false (büyük-küçük harf duyarlı)
bool result3 = (str1 != str3);  // true

compare() yöntemini kullanma:

Dizeler eşitse 0, ilk dize sözlüksel olarak daha küçükse <0, daha büyükse >0 döndürür:

string str1 = "a";
string str2 = "b";
string str3 = "c";

cout << str2.compare(str1) << endl; // Pozitif (b, a'dan sonra gelir)
cout << str2.compare(str3) << endl; // Negatif (b, c'den önce gelir)
cout << str2.compare(str2) << endl; // 0 (eşit dizeler)

Kendin dene

Bu ders bir kod alıştırması içermiyor.

quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Temeller bölümündeki tüm dersler