Это мой код:Не уверен, почему компилятор жалуется ... неявное объявление функции strchrnul
#include <stdio.h>
#include <ctype.h>
#include <string.h>
#include <stdlib.h>
static int valid_line(char *cur_line) {
if (*cur_line == '#') {
return 0;
}
char *end = strchrnul(cur_line, '#');
while(end > cur_line && isspace(*end)) end--;
return (!(*cur_line == *end));
}
Я иду через линию, и я избавлении от передней и задней пробелы и все, что происходит после «#» (включая «#»).
Мой компилятор говорит это:
parser.c:20:2: warning: implicit declaration of function ‘strchrnul’ [-Wimplicit- function-declaration]
parser.c:20:14: warning: initialisation makes pointer from integer without a cast [enabled by default]
, хотя я string.h
выше.
Может кто-нибудь объяснить это.
yaaay thankyou! – cxzp