Я получаю сообщение об ошибке, когда я перебираю указатель на символ и проверяю, когда указатель достигает нулевого терминатора.Предупреждение о сравнении между указателем и integer
const char* message = "hi";
//I then loop through the message and I get an error in the below if statement.
if (*message == "\0") {
...//do something
}
Ошибка я получаю:
warning: comparison between pointer and integer
('int' and 'char *')
Я думал, что *
перед message
разыменовывает сообщения, так что я получаю значение, где точек сообщение для? Я не хочу использовать библиотечную функцию strcmp
.
Обратите внимание, что '' \ 0 "' представляет собой строку с двумя последовательными нулевыми байтами (поэтому вторая не может быть найдена с помощью строковых функций, таких как 'strlen()', потому что они останавливаются при первом нулевом байте). Пустая строка '' '' состоит из одного нулевого байта. –