【发布时间】:2012-08-11 08:23:53
【问题描述】:
我的目标是构建一个程序来重命名当前工作目录中的所有文件,这样它们就没有任何空格、任何特殊字符或任何重音字符(例如 É 将变为 E)。我打算使用 int rename(const char *oldname, const char *newname); 。我的问题是如何获取当前工作目录中的文件?我想将我正在创建的可执行文件放在一个包含错误名称文件的文件夹中并运行它,然后所有文件都被重命名。
独立于平台的解决方案会更好,否则我使用的是 Windows 7 Enterprise 32bit。
这个问题不是重复的,因为我不知道opendir ("c:\\src\\"); 的路径,它是执行程序的任何目录。
【问题讨论】:
-
boost::filesystem有一个directory_iterator什么的。 -
我很困惑,因为我认为我必须使用 Boost 库,但我在这个问题中表示它已被弃用。 stackoverflow.com/questions/6108650/…所以不需要提升?
-
@Celeritas Boost.Filesystem 尚未被弃用。问题是关于一个已被弃用的特定功能。使用 Boost.Filesystem,它比其他方式更容易使用。