首页 > 解决方案 > 将元素名称构造为 Cout?

问题描述

我可以在 C++ 中打印结构的元素名称吗?

示例:如果我的代码中的结构为

struct Info {
uint8_t ID;
uint8_t Weight;
uint8_t Time[3];
}

我希望我的控制台打印下面的文本而不对它们进行硬编码。我希望它从结构中提取出来。这可能吗?

ID、重量、时间0、时间1、时间2

注意:不是ID的值或者什么不是。我希望控制台打印“ID、Weight...等”字样。它将用作文件的字段名称。

标签: c++visual-c++

解决方案


变量名是标识符,编译后它们在编译后的可执行文件中不存在。您不能在常规 C++ 应用程序中打印它们。

但是如果你想自己创建输出,它看起来像这样:

struct Info {
    uint8_t ID;
    uint8_t Weight;
    uint8_t Time[3];
};

int main()
{

    Info infoObj;
    infoObj.ID = 1;

    std::cout << "infoObj.ID = " << infoObj.ID << std::endl;

    std::getchar();

    return 0;
}

推荐阅读