В настоящее время я пишу средство распознавания токенов HTML на c ++.Я использую стеки, чтобы проверить и увидеть, есть ли начальные и совпадающие теги.
Прежде чем я смогу сопоставить свои теги, мне нужно убедиться, что тег правильный.Но по какой-то причине моя функция проверки не работает.Я перехожу каждый шаг в алгоритме и из всего, что я вижу, это должно работать.И все же он каждый раз возвращает ложь.Вот мой код:
const int NUM_TAGS = 12;
char *tagNames[NUM_TAGS] =
{
"<html>",
"</html>",
"<head>",
"</head>",
"<title>",
"</title>",
"<body>",
"</body>",
"<p>",
"</p>",
"</>",
"<SPOT/>",
};
bool check_ValidTag(char check[])
{
for (int i=0; i<=NUM_TAGS; i++)
{
if (check==tagNames[i])
return true;
}
return false;
};
Я вызываю функцию так:
tok.isValid = check_ValidTag((char*)tok.str);
По запросу Вот как выглядит структура "tok" ..
struct token
{
char name[MAX_NAME + 1];
int type;
bool isValid;
char str[MAX_LENGTH + 1];
};
Есть идеи?Спасибо.