C-将字符阵列与字符串进行比较



我有一个套接字服务器,该套接字应接收消息并写下答案。对于一些消息,我想发送一个特殊的答案。如果消息是例如"Hello",我想回答"Hi!"。这是我的代码的一部分:

...
char in[2000];
char out[2000];
...
while((read_size = recv(fd, in, 2000, 0)) > 0){
    if(strcmp(in, "Hello") == 0){
        strcpy(out, "Hi!n");
    }
    else{
        strcpy(out, in);
    }
    write(fd, out, strlen(out));
}
...

但是strcmp()在这里工作不正常。因为当我输入"Hello"时,不仅有in变量中的"Hello",因为长度为2000。但是,如果接收到的消息为"Hello"

,我现在如何检查

使用 strncmp 函数,它比较字符串的第一个 n 字节:

if (strncmp(in, "Hello", strlen("Hello")) == 0) ...

相关内容

  • 没有找到相关文章

最新更新