【发布时间】:2010-02-24 17:45:03
【问题描述】:
使用尽可能少的内存在 C 字符串前添加最有效的方法是什么?
我正在尝试重建大型目录树中文件的路径。
这是我之前在做什么的一个想法:
char temp[LENGTH], file[LENGTH];
file = some_file_name;
while (some_condition) {
parent_dir = some_calculation_that_yields_name_of_parent_dir;
sprintf(temp, "%s/%s", parent_dir, file);
strcpy(file, temp);
}
这似乎有点笨拙。
任何帮助将不胜感激。谢谢!
【问题讨论】:
-
你说大尺度,这让我相信你需要它是快速的。在您的情况下哪个更重要?快还是小?
-
我想说快速/高效肯定更重要。
-
@d03boy:哎呀,忘了那个。谢谢。
-
some_calculation_that_yields_name_of_parent_dir 能否以某种方式不仅返回父目录,还返回 parent_dir 的长度? (这将在下面发布的某些算法中节省一个 strlen 并允许您最后只进行一次分配。)
标签: c string concatenation