我们说我有以下结构:
struct _Tree_
{
char* title;
char* text;
struct _Tree_* left;
struct _Tree_* right;
}
现在我正在阅读一个如下所示的文本文件:
Title\n
firstfile.txt\n
secondfile.txt\n
text
Firstfile将始终向左移动,secondfile将始终向右移动。像二叉树的东西。基本上我想读取.txt文件的bounch并使用此规则存储它们。这意味着如果我的程序打开firstfile.txt,它将在左侧创建节点,存储该节点的标题和该文件中的文本并继续。同时它将打开secondfile.txt并执行相同的过程。但是,end是文件看起来像这样:
Title\n
-\n
-\n
Text
我需要建议如何解决这个问题。我想启动程序,如: ./program input.txt和现在我所拥有的是第一个参数我将它解析为将分割每一行的函数,第一行将作为标题保存到struct中,第二个将调用struct Tree * left,第三个将调用struct Tree * right,rest是text,应该存储在文本中。我知道使用malloc为标题和文本制作正确的大小。有人可以给我这个,想法或任何东西的最佳方式。我是否需要创建新节点并将左右设置为NULL。如果是这样,如何做到最好的方式? 非常感谢那些甚至读过这篇文章的人!