compare

Материал из cppreference.com
Перейти к: навигация, поиск

Синтаксис:

    #include <string>
    int compare( const string& str ) const;
    int compare( const charT* str ) const;
    int compare( size_type index, size_type length, const string& str ) const;
    int compare( size_type index, size_type length, const string& str, size_type index2, size_type length2 ) const;
    int compare( size_type index, size_type length, const charT* str, size_type length2 = npos ) const;

Функция compare() сравнивает строку str с текущей строкой различными способами, возвращая

Возвращаемое значение Ситуация
меньше нуля this < str
ноль this == str
больше нуля this > str

Разичные функции могут:

  • сравнивать строку str с текущей строкой
  • сравнивать строку str с подстрокой текущей строки, начинающейся с индекса index, длиной length,
  • сравнивать подстроку строки str с подстрокой текущей строки, где index2 и length2 относятся к строке str, а index и length относятся к текущей строке,
  • сравнивать подстроку строки str с подстрокой текущей строки, где подстрока строки str начинается с нуля и имеет длину length2, а подстрока текущей строки начинается с индекса index и имеет длину length символов.

Например, следующий код использует compare(), чтобы сравнить четыре строки между собой:

   string names[] = {"Homer", "Marge", "3-eyed fish", "inanimate carbon rod"};
 
   for( int i = 0; i < 4; i++ ) {
     for( int j = 0; j < 4; j++ ) {
       cout << names[i].compare( names[j] ) << " ";
     }
     cout << endl;
   }

Данные из приведенного кода использованы для создания таблицы, которая показывает, насколько разнообразны сравнения между строками:

Homer Marge 3-eyed fish inanimate carbon rod
"Homer".compare( x ) 0
1
"Marge".compare( x ) 1 0 1
"3-eyed fish".compare( x )
0
"inanimate carbon rod".compare( x ) 1 1 1 0

Смотрите также: String_operators

Личные инструменты
Пространства имён
Варианты
Действия
Навигация
Инструменты
На других языках