Как сравнить строки Мне хотелось сравнить строку без фактического определения одной из них в виде строки, что-то вроде этого, 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; }
Ответ 1 В С++ класс std::string реализует операторы сравнения, поэтому вы можете выполнить сравнение с помощью == так, как вы ожидали: if (string == "add") { ... } При правильном использовании перегрузка оператора является отличной функцией С++.
Ответ 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; }