【发布时间】:2014-10-22 17:51:45
【问题描述】:
我正在构建一个读取 XML 配置文件的程序。 XML 配置文件包含几个变量。其中之一是
<bin_file>/some/file/path/file.bin</bin_file>
在我的代码中,我有以下结构
struct buildConofig {
char foo[3];
char bar[2];
char bin_file[?];
};
代码查看 XML 文件并在找到 XML 中的匹配元素时填充结构。我不确定 bin_file 字段的长度应该是多少。文件路径大小有限制吗?
还是应该让 bin_file 成为指针,然后在检查 XML 字段后分配足够的字节?
感谢您的帮助。
【问题讨论】:
-
MAX_PATH 是常用的stackoverflow.com/questions/833291/…
-
指针和 malloc 稍后可能是最好的方法,但您始终可以使用您允许的最大大小并添加一些错误检查以避免错误。
-
作为指导,
FILENAME_MAXin<stdio.h>。 (MAX_PATH 不是标准的)但是文件名的长度实际上取决于各自的操作系统。 -
IMO:如果只有几个
struct buildConofig实例,请使用bin_file[MAX_PATH]或等效项。否则,在检查 XML 字段后将bin_file设为指针,然后将malloc设为足够的字节。
标签: c