C++ - 将 C 字符串推送到模板堆栈

标签 c++ stack cstring

我敢肯定,对于大多数人来说,这是一个非常简单的问题。但是我正在用 C++ 为 XML 编写一个 token 识别器,并且我正在使用一个堆栈来确保有匹配的开始和结束标记。好吧,我的标签是 C 字符串...

char BeginTag[MAX];

我正在尝试将其推送到我的模板堆栈中。但我不确定传递堆栈的类型。我试过了……

stack<char> TagStack;

但这行不通。我也尝试了其他一些解决方案,但似乎都没有用。有人可以帮助我吗?

最佳答案

数组不可赋值,因此不能用作容器值类型。

不过,您可以定义一个包含数组的结构,并使用它:

struct Tag {
    char name[MAX];
};

stack<Tag> TagStack;

或者只为您的标签使用 std::string

关于C++ - 将 C 字符串推送到模板堆栈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4109891/

相关文章:

c++ - 检测一个键是否被按下,而不是它是否总是按下

tree - 如何在 Rust 中实现可变的仙人掌堆栈?

c++ - 接收指向 C 风格字符串的指针作为参数并能够分配内存或修改它的正确方法是什么?

c++ - 将 C 风格的字符串转换为 C++ std::string

c++ - 是否有一个库可以从数据包的 winpcap 原始数据中获取 IP 地址和端口?

c++ - 将带有 XML 命令和大量内存项目数据的 native C++ 服务器移植到 Web 服务。如何做以及使用哪个框架?

java - 为什么要在 OOPS 中定义重载方法?

c - 数组的元素是否保证从低地址到高地址存储?

在 C 中创建堆栈,节点结构

c++ - 环境变量在 char* 中如何将其获取到 std::string