我有一个关于套接字的问题。我有这个代码:
while(bytes = recv(sClient, cClientMessage, 599, 0)){
Run Code Online (Sandbox Code Playgroud)
这会将它接收到的消息放入 cClientMessage 并且消息始终是“消息”。我如何做出像if(cClientMessage == "Message"){//do func}. 现在这段代码不会做我想要的功能。我认为这是因为它没有正确接收消息。有人能帮我吗?
小智 5
尝试:
if( strcmp( cClientMessage, "Message")) == 0 ) {
// do something
}
Run Code Online (Sandbox Code Playgroud)
编辑,以下来自 strager 的建议:
一个更好的解决方案是使用 memcmp,它不依赖于接收到的数据是否为空终止:
if( memcmp( cClientMessage, "Message", strlen( "Message") )) == 0 ) {
// do something
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2342 次 |
| 最近记录: |