如何获取当前目录中的所有文件名?

时间:2012-08-15 00:04:52

标签: c++ file rename

我的目标是构建一个程序,重命名当前工作目录中的所有文件,使它们没有任何空格,任何特殊字符或任何重音字符(例如É将成为E)。我打算使用int rename(const char *oldname, const char *newname);。我的问题是如何获取当前工作目录中的文件?我想将我正在创建的可执行文件放在一个文件夹中,文件名不正确并运行它,文件全部重命名。

首选独立于平台的解决方案,否则我使用的是Windows 7 Enterprise 32位。

这个问题并不重复,因为我不知道opendir ("c:\\src\\");的路径,它是程序执行的目录。

2 个答案:

答案 0 :(得分:1)

以下是执行此操作的示例代码:

http://bytes.com/topic/c/answers/869208-list-files-directory

从本质上讲,您使用这些API:FindFirstFileFindNextFile

对于跨平台解决方案,请参阅findfirst()findnext()

答案 1 :(得分:0)

一个选项是使用opendir("。"),这将打开当前目录。