Как сравнить строки
Мне хотелось сравнить строку без фактического определения одной из них в виде строки, что-то вроде этого,
if (string == 'add')
Должен ли я объявлять 'add'
в виде строки или можно сравнивать аналогичным образом?
Ответы
Ответ 1
В С++ класс std::string реализует операторы сравнения, поэтому вы можете выполнить сравнение с помощью ==
так, как вы ожидали:
if (string == "add") { ... }
При правильном использовании перегрузка оператора является отличной функцией С++.
Ответ 2
Вам нужно использовать strcmp
.
if (strcmp(string,"add") == 0){
print("success!");
}
Ответ 3
Вы можете использовать strcmp()
/* strcmp example */
#include <stdio.h>
#include <string.h>
int main ()
{
char szKey[] = "apple";
char szInput[80];
do {
printf ("Guess my favourite fruit? ");
gets (szInput);
} while (strcmp (szKey,szInput) != 0);
puts ("Correct answer!");
return 0;
}