堆栈检查C ++中的html标签平衡

时间:2018-04-06 21:58:26

标签: c++

我有一个问题,我正在尝试使用堆栈来检查html文件是否具有平衡标签。我有程序使用C ++文件。它检查括号是否平衡。问题是像这样的标签很适合char。我在字符常量中收到太多字符错误。他的周围有办法吗?

bool balanced(char A[], int n) {
int i;

stack <char> a;

    for (i = 0; i < n; i++) {

    if (A[i] == '<head>' || A[i] == '<title>' || A[i] == '<body>') {
        a.push(A[i]);
    }
    else
    {

        switch (A[i]) {

        case '</head>':

            a.top();
            a.pop();

            break;
        case '</title>':

            a.top();
            a.pop();

            break;
        case '</body>':

            a.top();
            a.pop();

            break;



        }


    }



}

1 个答案:

答案 0 :(得分:1)

你不能这样做

A[i] == '<head>'

A [i]是一个字符而不是字符串。你应该使用std :: string。如果&#39; A&#39;是你能做的一个字符串

A =="<head>"

或使用strcmp(不是惯用的c ++)