如何解决如何在directory_iterator循环中读取新创建的路径?
我正在尝试使用c ++文件系统重命名directory_iterator中遇到的文件。
示例:我在目录中有名为1、2、3、1000的文件(为简单起见,没有扩展名),并且我想将它们重命名为1、2、3、4。代码输出1、4(其中有4个删除文件1000的内容,删除两个文件)。经过一些调试后,我意识到代码可以这样运行:
它重命名(按此顺序): 一对一 1000至2(删除/覆盖文件2) 2至3(删除/覆盖文件3) 3至4(删除/覆盖文件4)
这是文件1000的内容到达文件4的方式。
我尝试将新遇到的文件重命名为长度为12的随机字符串会遇到问题,但是问题在于directory_iterator无法访问那些文件,因为它已经遍历它们并重命名了它们。>
因此,上面的示例将如下所示(按顺序):
1比1
1000到2(重命名用于将原始2重命名为长度为12的随机字符串的随机函数)
2(最初为1000)到3(重命名用于将原始3重命名为长度为12的随机字符串的随机函数)
,最后的路径列表如下所示: 1个 3(最初为1000) 长度为12的随机字符串 长度为12的随机字符串
由于directory_iterator已经使用过这些文件,因此无法访问这些文件是合乎逻辑的。
我考虑过的解决方案是创建一个向量,该向量将存储新创建的文件,并通过最初使用的相同重命名循环将它们推送,但这只是代码重复。
问题是,我可以访问上面示例中重命名为随机字符串的那些文件吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。