目前,我有一个
但我不能不想这似乎:
- 有点笨拙。 - 肯定有一个相当常见的库可以覆盖它,如果可用的话最好使用,这样我就不必重新发明轮子了。
搜索它只会出现很多关于Python的
path_concat(char* path_fragment_a, char* path_fragment_b)
函数,它简单地将path_fragment_a
、PATH_DIVIDER
和path_fragment_b
连接在一起。(PATH_DIVIDER在#ifdef块中被定义,因此在Windows上是\
,而在其他地方是/
。)但我不能不想这似乎:
- 有点笨拙。 - 肯定有一个相当常见的库可以覆盖它,如果可用的话最好使用,这样我就不必重新发明轮子了。
搜索它只会出现很多关于Python的
os.path.join
的结果(这将是理想的,除了它是Python,而不是C),所以我想知道是否有人知道更清洁/更标准的解决方案。
snprintf
的问题(是的,我更习惯脚本语言)。所以我想最好的选择要么基本上和现在一样(但使用snprintf
代替strcat
),要么就假设(可能准确)它永远不会在/
不能做正确事情的系统上运行。谢谢! - Robert Graffham"%s/%s/%s"
与"%s\\%s\\%s"
),或者在格式字符串中使用%c
来允许插入任意分隔符字符。 - R.. GitHub STOP HELPING ICEos.path.join
有一个特性,即如果后续路径以/
开头,则所有先前的路径部分都将被丢弃。如果您想将文件名附加到CWD
(如果它不以/
开头),但在其以/
开头时按原样使用它,则此功能非常有用。仅使用snprintf
无法实现这一点。 - Craig McQueen