【发布时间】:2016-10-02 20:58:44
【问题描述】:
我正在使用这个:
if(strstr(inData, respond) != NULL)
在inData 中搜索字符串CMD。
问题是当新数据看起来像这样时:
Reboot
CMD
strstr 不会找到它,因为它会停止搜索新行的位置。
有没有一种优雅的方法(不使用花哨的功能,因为我做不到)来克服它?
【问题讨论】:
-
strstr可以找到换行符(包括)。CMD前面有一个非法字符。 (也许'\0') -
谢谢,我怎么没看到?我在这里展示的是 inData 打印。
-
十六进制转储
inData。 -
我同意@BLUEPIXY,
strstr()将换行符视为任何其他字符。但是,我也会将您的调试扩展到respond。您确定respond指向字符C、M、D、\0?如果respond包含换行符,或者不包含 NUL 分隔符 (\0),strstr()将同样失败。 -
谢谢大家,我正在失去理智,我想即使我用十六进制转储它也看不到一些东西。
标签: c