我有一个关于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;
}
…
}
char * configvalue
是一个指向当前行被读取。我想检查的是该行的第一个字符是否为“#”。
但是当我执行if语句时:编译器会抛出一个错误:comparison between pointer and integer
。
如何检查指针所指向的字符串的第一个字符是否为某个值?
比较C字符串与'的strcmp()','不'==(所以'如果(STRCMP(configvalue, “#”)= = 0)'可能是对的)。 ''“#”'是一个字符串;如果你想比较字符''#''使用单引号,而不是双引号(所以if(configvalue [0] =='#')'可能是正确的)。 –
谢谢jonathan,最后一句话帮助了单引号 – Dezzy