gpt4 book ai didi

c++ - 是否有用于向文件路径添加尾部斜杠的习惯用法?

转载 作者:IT王子 更新时间:2023-10-29 00:06:06 24 4
gpt4 key购买 nike

我有一个程序将文件夹路径作为命令行参数。然后我将其与文件名连接起来以访问这些文件。

例如,folder_path 是“./config/”然后 file_path 将是“./config/app.conf”,如下所示

stringstream ss;
ss << folder_path << "app.conf";
file_path = ss.str();

但如果 folder_path 不包含结尾斜杠,这将不起作用。这似乎是一个常见问题,所以我想知道是否有在末尾添加斜线的习语,如果它不存在的话。

最佳答案

如果路径在名为路径名的 std::string 中,我通常会这样做:

if (!pathname.empty() && *pathname.rbegin() != '/')
pathname += '/';

或者,使用 basic_string::back():

if (!pathname.empty() && pathname.back() != '/')
pathname += '/';

如有必要,请为反斜杠添加大小写。

补充:另请注意,*nix 会将路径名中的连续斜杠作为单个斜杠处理。所以在很多情况下,只添加斜线而不检查就足够了。

关于c++ - 是否有用于向文件路径添加尾部斜杠的习惯用法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18027874/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com