c++ - 如何在文件中存储图形

标签 c++ graph storing-data

我想将以下信息存储在一个文件中。 我的程序由一组连接形成图形的字符串组成。 我将每个字符串称为“标签”。

假设我们有 3 个主要标签 $Mohammed , $car , $color

每个主标签都包含子标签,每个子标签都有一个值或另一个子标签或一组子标签。

$Mohammad:
    $Age: "18"
    $color: $red
    $kind_of: $human
    $car:
        $type: $toyota
        $color: $blue
        $doors:
            $number: "3"
$car:
    $made_of: $metal
    $used_for: $transporting
    $types: {$mercedes,$toyota,$nissan}
    $best_color: $red

$color:
    $usedto: $coloring_things
    $example: {$red,$green,$blue,...}

但这不仅如此,同名标签之间存在联系,因此 $Mohammed->$car->$color 必须与主标签联系 $颜色。和 $Mohammed->$color:$red , $car->$best_color:$red , $color->$best_color: $red > 和主标签 $red 必须相互连接。

连接的标签意味着以一种我可以立即调用连接的标签的方式存储。就像电脑内存一样。当它从内存中调用某些东西时,它会调用请求信息之前和之后的信息。

当我第一次看到我的情况时,我认为 XML 可以解决它,但后来我意识到 XML 不能表示图形。

我不想为此使用数据库。我想把数据库作为我最后的武器。

关于如何存储、连接和调用程序中的信息,有什么想法或建议吗? 提前致谢。

最佳答案

您实际上可以使用 XML,但我建议使用 JSON 或 Yaml。

您的示例格式已经非常接近 Yaml。

关于c++ - 如何在文件中存储图形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28787635/

相关文章:

swift - 快速保存多行文本

c++ - 在父类(super class)中使用子类的静态变量

c++ - 虚拟文件夹在 Windows 7 的 CFileDialog 中不可见

algorithm - 仅在给定邻接矩阵的情况下在线性时间内检查图形属性

c++ - 通过 QGraphicsItem 剪辑 QPainterPath

java - 如何将JDialog存储在JOptionPane创建的JDialog对象中

c++ - 转换二维C数组中的std::vector数组

c++ - 为什么我得到无限循环?

algorithm - 通过遍历图生成给定字符串的步骤

java - (Java) 如何存储 x 和 y 值以便在 for 循环之外使用它们?