嗨,大家好我有我的服务器客户端项目的问题。我用命令./server www.google.com
运行我的代理服务器,所以我有argv[1]=www.google.com
。在此之后,我运行我的客户端,然后向服务器发送值GET www.google.com
。现在从服务器端我使用strtok_r(buffer," ",&string1)
,所以我有buffer=GET
和string1=www.google.com
(我肯定这些valuse因为我打印它们)。问题是,当我使用字符串在C - 打印是相同的strcmp说他们不
if((strcmp(string1,argv[1]) == 0))
{
printf(" SAME VALUES \n");
}
我没有得到这样的printf这两个变量不具有相同的值。有任何想法吗 ?
检查原始数据(使用十六进制打印,调试器等)。可能还有一些前导/尾随空白或换行符。 – 2014-12-04 21:06:44
最有可能的string1在结尾处有空白。考虑修剪它,或者写一个自定义比较函数,它也停在换行符处。 – hyde 2014-12-04 21:07:15
以字节为单位输出string1和argv [1]的值并检查差异 – nikitahils 2014-12-04 21:07:27