如果输入“test”,为什么这段特定的代码在strstr()上返回false?
char input[100];
int main()
{
fgets(input, 100, stdin);
printf("%s", input);
if(strstr("test message", input))
{
printf("strstr true");
}
}
我以为strstr在第一个参数中搜索了第二个参数的实例?当我用一些文本替换输入或直接为其分配输入时,它可以工作,但似乎不适用于fgets。
最佳答案
这是因为fgets存储换行符,因此当strstr进行比较时会失败。
从手册页:
关于c - strstr无法运作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7943032/