我是 C 的新手,我正在尝试检查一些字符串。
以下是我的代码,评论指出我不明白为什么会发生的问题:
if (strstr(recBuff, "GET / HTTP/1.0\r\n\r\n") != NULL)
//Send HTTP/1.0 200
//This gets recognised fine
else if (strstr(recBuff, "GET / HTTP/1.0\r\r") != NULL)
//Send HTTP/1.0 200
//This gets recognised fine
else if (strstr(recBuff, "GET / HTTP/1.0\r\n") != NULL)
//Do something else
//This never gets picked up, and instead goes to the final else...
else
//HTTP/1.0 404
//Etc
我想我的问题是为什么 strstr 会接手\r\n\r\n
并对其采取行动,但它\r\n
本身就一直经历到最后的其他?有一个 else\r\n\r\n
可以工作,但是一个 else 对 single\r\n
不起作用\r\n
。
TL; DR"GET / HTTP/1.0\r\n\r\n"
被拿起,但"GET / HTTP/1.0\r\n"
没有。