📄 treeop.h
字号:
/********************************************************
文 件 名: tree.h
所属项目:
编写单位:
作 者: 易剑
编写日期: 2003-02-10
版 本:
功能描述: 操作配置文件的树结构函数
修改日志:
修改时间:
修 改 者:
修改内容:
*********************************************************/
#ifndef _TREE_OP_H
#define _TREE_OP_H
#include <stdio.h>
#include "tree_node.h"
#define NODE_IS_LEAF 0 /* 结点是树叶 */
#define NODE_IS_BRANCH 1 /* 结点是树枝结点 */
#define NODE_IS_ROOT -1 /* 结点是树根 */
#define NEXT_NODE_EXIST 8 /* 结点是的下一结点存在 */
/* 初始化配置文件 */
struct tree_node *init_cfg(char *cfg_filepath, char *task_filepath, char **argv, char *direct);
/* 反初始化 */
void uninit(struct tree_node *root);
/* 创建树根 */
struct tree_node *create_treeroot(char *data);
/* 提取指定路径的值 */
char *get_value(struct tree_node *root, const char *path, int *flag);
/* 判断指定路么是否是合法路径 */
int node_is_exist(struct tree_node *root, const char *path);
/* 获得下一个并列路径 */
char *get_next_path(struct tree_node *root, const char *path, int flag);
/* 得到下一个并列结点的路径和结点类型 */
char *get_next_path2(struct tree_node *root, const char *path, int *flag);
/* 得到父结点 */
int get_parentnode(struct tree_node *root, const char *path, struct tree_node **parent);
/* 得到父结点路径 */
char *get_parentnodepath(struct tree_node *root, const char *path);
/* 修改结点 */
int update_node(struct tree_node *root,
const char *path,
const char *newdata,
const char *newvalue);
/* 插入一个结点 */
int insert_node(struct tree_node *root, const char *path, const char *data, const char *value);
/* 插入一棵子树 */
int insert_subtree(struct tree_node *root, const char *path, struct tree_node *subtree);
/* 删除一个结点 */
int delete_node(struct tree_node *root, const char *path);
/* 将根结点为 root,路径为 path 的树结构输出到文件 result_filepah 中*/
/* 内部调用 recursion_dump() 和 get_node() */
int dump_tree(struct tree_node *root, const char *result_filepath, const char *path);
/* 从文件 filename 中获取数据创建以 root 为根的树 */
void createtree_fromfile(char *filename, struct tree_node **root);
/* 从文件 fp 中获取数据创建以 root 为根的树 */
void createtree_fromfilefp(FILE *fp, struct tree_node **root);
/*
外部函数 -- start
*/
/* 在屏幕上打印树 */
void print_tree(struct tree_node *root,int spaceNum);
void print_tree(struct tree_node *root);
/*
外部函数 -- end
*/
#endif /* _TREE_OP_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -