1
我想查看一個字符串是否等同於一個URL路徑。它應該很簡單,但strcmp總是返回< 0(-47)。我可能在斜槓上做錯了什麼。C使用strcmp來檢查URL路徑
#include <stdio.h>
#include <string.h>
#include <stdbool.h>
int main()
{
char path[9];
strcpy(path, "/my/path/");
int len = strlen(path);
char lastChar[1];
strcpy(lastChar, &path[len - 1]);
printf("LAST CHAR SET TO %s\n", lastChar);
bool isPageRequest = strcmp(lastChar, "/") == 0;
if(isPageRequest)
{
printf("ITS A PAGE REQUEST\n");
}
bool isMyPath = strcmp(path, "/my/path/") == 0;
if(isMyPath)
{
printf("ITS MY PATH PAGE\n");
}
return 0;
}
我期待ITS MY PATH PAGE
打印出來..但它沒有。
我明白這一點。我不明白的是爲什麼這會使代碼的其餘部分工作.. –
@JDoe .:未定義的行爲是不正當的,它可能會讓你覺得你修復了一個bug,然後讓你想知道如何? – chqrlie