gpt4 book ai didi

c - 我如何比较收到的答案?

转载 作者:行者123 更新时间:2023-11-30 14:24:34 24 4
gpt4 key购买 nike

我有一个用 C 编写的简单回显服务器,如果它收到 quit 字,我想停止该服务器

    int n;
char buffer[256];
while(strcmp(buffer,"quit") != 0)
{
n = read(sock,buffer,255);
if (n < 0)
{
perror("ERROR reading from socket");
exit(1);
}

printf("Here is the message: %s\n",buffer);
printf("%d-%d\n", sizeof(buffer), strcmp(buffer,"quit"));

n = write(sock,"I got your message",18);
if (n < 0)
{
perror("ERROR writing to socket");
exit(1);
}
}

如何将接收到的缓冲区与字符串进行比较?

最佳答案

缓冲区可能不是以 0 结尾,因此使用“字符串”比较函数是错误的。您应该尝试使用 strncmpmemcmp

此外,在 while 条件下,您在实际读入 buffer 之前进行测试。

关于c - 我如何比较收到的答案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11591137/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com