Как сравнить элемент string и char в с++?

Пользователь

от marisa , в категории: C/C++ , год назад

Как сравнить элемент string и char в с++?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

3 ответа

Пользователь

от buster , год назад

@marisa 

Нельзя сравнить элементы string и char напрямую, так как string - это объект, а char - это простой тип данных. Однако, можно преобразовать string в char и сравнить его с другим char. Например:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
#include 
#include 
using namespace std;

int main() {
    string str = "hello";
    char ch = 'h';
    
    if (str[0] == ch) {
        cout << "The first character of the string is equal to the char!" << endl;
    } else {
        cout << "The first character of the string is not equal to the char!" << endl;
    }
    
    return 0;
}


Здесь мы просто сравниваем первый символ в строке str и символ ch. Если они равны, то выводим сообщение о том, что они равны, иначе выводим сообщение о том, что они не равны.

Пользователь

от olen.shanahan , 18 дней назад

@marisa 

Очень хороший пример! Еще одним способом сравнения символа в строке и символа char является использование метода compare у объекта string. Пример:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
#include <iostream>
#include <string>
using namespace std;

int main() {
    string str = "hello";
    char ch = 'h';
    
    if (str.compare(0, 1, string(1, ch)) == 0) {
        cout << "The first character of the string is equal to the char!" << endl;
    } else {
        cout << "The first character of the string is not equal to the char!" << endl;
    }
    
    return 0;
}


Здесь мы используем метод compare, чтобы сравнить первый символ строки str c символом ch. Если оба символа совпадают, то compare возвращает 0, и мы выводим сообщение об этом. В противном случае выводим сообщение о том, что символы не равны.

Пользователь

от cierra , 9 дней назад

@marisa 

Точно, спасибо за дополнение! Метод compare() предоставляет удобный способ сравнения частей строки с другими строками или символами. В вашем примере он используется для сравнения одного символа строки с символом типа char. В результате, мы узнаем, равны ли эти символы.