C 检查字符数组是否包含特定单词

C 检查字符数组是否包含特定单词,c,C,我正在尝试连接wifi模块。 因此,我需要在接收\r\nOK\r\n时读取缓冲区 这是我的源文件: typedef struct { char ReceivePacket[200]; char PacketCounter; }ModbusRequest_; volatile ModbusRequest_ ModbusRequest; 这是在一个空洞中运行 if(strstr(ModbusRequest.ReceivePacket, "\r\nOK\r\n"))

我正在尝试连接wifi模块。 因此,我需要在接收\r\nOK\r\n时读取缓冲区

这是我的源文件:

typedef struct
{
   char ReceivePacket[200];
   char PacketCounter;  
}ModbusRequest_;        

volatile ModbusRequest_ ModbusRequest;
这是在一个空洞中运行

if(strstr(ModbusRequest.ReceivePacket, "\r\nOK\r\n"))
{
   //execute
}
但我没有得到任何结果,它不会执行我的代码。
此外,我的产品还包括:

#include <string.h>
#include <stdlib.h>
#包括
#包括

modbus请求.ReceivePacket变量中包含哪些内容,您看了吗?(即,在日志文件中,或在调试模式下使用断点?您确定字符串
“\r\nOK\r\n”
确实发送过吗?请尝试仅搜索
“OK\r\n”
可以在printf中看到它。但是,如果我将使用此代码,则在以下情况下它会工作:(ModbusRequest.receivepacketcounter]='K'&&ModbusRequest.receivepacketcounter[PacketCounter-1]=‘O’)首先尝试与
\r
进行字符串匹配,看看是否返回指针。如果返回指针,则尝试与
\r\n
进行匹配,依此类推。让我们知道发生了什么。是否保证modbus消息以null结尾?如果
K
打包计数器
一致,则永远看不到最后一个
\r\n
K
是读取的最后一个字节。请将搜索条件更改为
\r\nOK