сравнить char* с++
Запутался немного. Как сравнить параметр вызова программы char* ?
int main(int argc, char* argv[])
{
string key ="77";
if (argv[1]==key) cout << "верно" << endl;
}
Ответы (2 шт):
Автор решения: SelfishCrawler
→ Ссылка
Класс string содержит метод compare, возвращающий 0 если строки равны:
int main(int argc, char* argv[])
{
string key ="77";
if (!key.compare(argv[1]))
cout << "верно" << endl;
}
Автор решения: Harry
→ Ссылка
Да именно так, как вы и сравниваете. Класс string обеспечивает сравнение с использованием оператора ==.
Второй вариант - если бы вы сравнивали непосредственно литерал "77" - с использованием функции сравнения С-строк strcmp:
int main(int argc, char* argv[])
{
if (strcmp(argv[1],"77")==0) cout << "верно" << endl;
}
P.S. Только убедитесь, что argc > 1, а то argv[1] будет нулевым указателем - как-то некрасиво окажется обращаться туда, куда нельзя :)