Otrzymuję błąd, gdy przechodzę przez wskaźnik znaków i sprawdzam, kiedy wskaźnik osiągnie terminator o wartości zero.Porównanie ostrzeżenia między wskaźnikiem a liczbą całkowitą
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
}
Błąd otrzymuję to:
warning: comparison between pointer and integer
('int' and 'char *')
Myślałem, że *
przed message
dereferences wiadomości, więc uzyskać wartość gdzie punkty wiadomość do? Nie chcę przy okazji korzystać z funkcji bibliotecznej strcmp
.
Zauważ, że '" \ 0 "' jest ciągiem z dwoma kolejnymi bajtami zerowymi (więc drugiego nie można znaleźć za pomocą ciągów manipulujących funkcjami takimi jak 'strlen()', ponieważ zatrzymują się przy pierwszym bajcie zerowym). Pusty ciąg '' "' składa się z pojedynczego bajtu null. –