У меня есть функция, которая возвращает char*
(имя). Мне нужно проверить, совпадает ли имя с именем, которое я вводил при запуске программы. Итак, как я могу сравнить указатель на char и массив char? (Это часть школьного задания)Сравните char [] и char *
1
A
ответ
5
Использование зЬгстр как
char a[] = "someName";
char* b = GetSomeOtherName();
if (strcmp(a, b) == 0)
{
// equal
}
+0
спасибо, я попробую это :) – hugsy21
9
В C++, вы бы вернуться std::string
не char*
, и сравнить с
if (returned == expected)
Если вы пытаетесь чтобы написать ужасную смесь C и C++, тогда вы могли бы либо сделать строку для сравнения:
или использовать библиотеку C
if (std::strcmp(pointer, expected) == 0)
1
Вы можете использовать strcmp()
из <cstring>
заголовка, как
if (strcmp (func() , a) == 0)
{
// they are equal
}
где func()
возвращает указатель и a
является массив вашего характера.
Но, находясь на C++, вы должны использовать std::string
. Это намного лучше, чем массивы символов.
Это действительно легко проверить строки для равенства. Вы могли бы просто сделать
std::string string1;
std::string string2;
// assign them some values
if (string1 == string2)
{
// they are equal
}
Смежные вопросы
- 1. Сравните varchar с char
- 2. Сравните конец файла с char
- 3. const char ** и char **
- 4. C char [] и * char
- 5. Char * указатели и char []
- 6. Удалить char из char * и вернуть char *
- 7. char * и unsigned char * casting
- 8. ERROR char и const char
- 9. Разница между char ** и char [] []
- 10. Разница между char * и char []
- 11. Выделение памяти char * и char []
- 12. Сравнение char и константы char
- 13. Java Почему char = char^char отличается от char^= char?
- 14. Сравните многие переменные char в C++
- 15. Сравните элемент массива char с строковым литералом
- 16. C char *, char **, char ***, проблема с печатью и освобождением
- 17. назначение указателя char на переменную char и char array
- 18. Разница между char * s = new char [] и char s [20]?
- 19. преобразование char ** в char * или char
- 20. Почему typedef char CHAR
- 21. char [1024] vs char *
- 22. Назначение char [] [] char **
- 23. Понятие char char
- 24. `const char * 'to` char'
- 25. char ** to char *
- 26. C++ vector char char
- 27. Преобразование char-date-char
- 28. char + char = int? Зачем?
- 29. Назначить char char *
- 30. concatanation char with char *
Вы хотя бы попытались найти ответ на этом сайте? – Predelnik