C编程,有没有什么好方法可以管理路径字符串而不是像linux上的strcat那样使用C字符串API?相当于Windows的PathAppend会很棒。谢谢!
答案 0 :(得分:1)
这是一个快速,肮脏,接下来未经测试的版本,它将路径与两者之间的非常友好的“/”分隔符连接起来:
int PathAppend( char* path, char const* more)
{
size_t pathlen = strlen( path);
while (*more == '/') {
/* skip path separators at start of `more` */
++more;
}
/*
* if there's anything to add to the path, make sure there's
* a path separator at the end of it
*/
if (*more && (pathlen > 0) && (path[pathlen - 1] != '/')) {
strcat( path, "/");
}
strcat( path, more);
return 1; /* not sure when this function would 'fail' */
}
请注意,在我看来,此函数应该有一个指示目标大小的参数。我也没有实现Win32删除“。”的文档功能。路径开头的“..”组件(为什么会出现?)。
另外,什么会导致Win32的PathAppend()
返回失败?
使用(和/或修改),风险自负......