gpt4 book ai didi

c - C 中的字符串 - print 是相同的 strcmp 说它们不是

转载 作者:行者123 更新时间:2023-11-30 15:26:45 25 4
gpt4 key购买 nike

大家好,我的服务器客户端项目遇到问题。我使用命令 ./server www.google.com 运行代理服务器,因此我有 argv[1]=www.google.com。之后,我运行客户端并向服务器发送值 GET www.google.com。现在从服务器端我使用 strtok_r(buffer,"",&string1) 所以我有 buffer=GETstring1=www.google.com (我确信这些值(value),因为我打印了它们)。问题是当我使用

if((strcmp(string1,argv[1]) == 0))
{
printf(" SAME VALUES \n");
}

我没有得到 printf,所以这两个变量没有相同的值。有什么想法吗?

最佳答案

strtok_r(buffer,"",&string1) 中,string1 不是指向找到的标记的指针。您似乎正在比较 string1 但函数返回值是 token 指针。所以代码应该是

char * tok = strtok_r(buffer," ",&string1);
if ((strcmp (tok,argv[1]) == 0))
{
printf(" SAME VALUES \n");
}

关于c - C 中的字符串 - print 是相同的 strcmp 说它们不是,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27304009/

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