嗨,大家好我有我的服務器客戶端項目的問題。我用命令./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