c++ - 可移植生成指定目录下的新文件名

标签 c++

如何可移植(我最感兴趣的是windows和linux)在指定的目录中生成一个新的文件名,具有指定的文件名前缀和后缀?

std::string UniqueName(std::string const& dir, std::string const& prefix,
                       std::string const& suffix);

实现此功能的任何建议,尽可能少地依赖特定平台。

最佳答案

请注意,错误的做法是一个安全漏洞。有一些技巧可以利用临时(ish)文件,这些可以让管理员访问整个系统,而不仅仅是你的应用程序。参见 this寻求一些建议。

有几种方法可以做到这一点:

boost::filesystem 计划成为 C++ TR2 的一部分, future 几乎所有编译器都应该支持它。请注意,您必须 #define BOOST_FILESYSTEM_VERSION 3 ( info ),否则您将获得不支持 unique_path 的旧版本 boost::filesystem

关于c++ - 可移植生成指定目录下的新文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4107528/

相关文章:

c++ - 构造函数中的模板类转换

c++ - 双数据类型导致错误

c++ - 基类中的虚拟继承和空虚表

c++ - 用位掩码计数

c++ - 将卡片的 vector 传递给功能以打印和使用?

c# - 使用 C# 的 64 位解决方案 ASP.NET 和一个使用 C++ 的 32 位项目

c++ - 为什么整数比较比字符串比较快?

c++ - 是否有像 C# 中那样的 C++ new 声明

python - PyArg_ParseTupleAndKeywords 抛出警告 : ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]

c++ - 相同的 Direct2D 应用程序在 "slower"机器上表现更好