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