使用strcmp

时间:2018-09-24 18:08:34

标签: c

我正在尝试比较字符串,以便为正在构建的C服务器中的GET响应做准备。但是我完全停留在strcmp上。这是我的代码:

Char *getPtr;
Char *get = "GET";

getPtr = strstr(message_recieved, get); //In this case we know that the message contains GET

if(strcmp(getPtr, get) == 0)
{
printf("GET RECIEVED!");
}

但是,strcmp的值始终为10。我已打印出GetPtr,它是“ GET”。我在这里做错了什么?我也尝试过使用数组,但是由于strstr仅使用指针,因此我不确定如何将指针转换为数组(对此也有所帮助!)。这是我的第一个问题,请保持友好:)

1 个答案:

答案 0 :(得分:2)

strstr返回时,getPtr指向message_recieved内包含字符串"GET"的位置,否则为NULL。

由于您的字符串在 之后"GET"中可能包含更多字符,因此在这种情况下,比较结果将为false。

如果您想知道message_recieved是否包含"GET",只需检查getPtr是否为NULL:

if(getPtr)
{
    printf("GET RECIEVED!");
}