指针的第一个字符

Dez*_*zzy 3 c pointers char

我有一个关于char指针的问题.

我正在用C读取一个文件fgets.这是一个简短的概述,因此您可以了解我想要做的事情:

char configline[configmax_len + 1]; //configmax_len is the max value I need
while(fgets(configline, sizeof(configline), config){ //config is the file
    char *configvalue = strtok(configline, " ");
    if (configvalue[0] == "#"){
        continue;
    }
    …
}
Run Code Online (Sandbox Code Playgroud)

char * configvalue是指向当前读取行的指针.我想检查的是该行的第一个字符是否为"#".

但是当我执行if语句:时if (configvalue[0] == "#"),编译器会抛出一个错误:comparison between pointer and integer.

我怎么能检查指针所指向的字符串的第一个字符是否是某个值?

Sco*_*ter 5

使用单引号表示单个字符;双引号表示字符串,由指向第一个字符的指针表示,因此是错误消息。


Tom*_*Tom 5

尝试使用

if (configvalue[0] == '#'){
Run Code Online (Sandbox Code Playgroud)

这应该很好地编译