如何打开文件夹中的所有txt文件?

时间:2017-05-26 19:01:34

标签: c++

我正在尝试打开与main.cpp相同的文件夹中的所有文本文件。我该怎么做呢?

file.open(".txt");

我试过这样做,我尝试使用*,尝试使用modulo,但没有一个有效。感谢帮助,谢谢。

其他问题是询问如何获取文件列表。我在问他们如何打开它们。我不想列出它们。

2 个答案:

答案 0 :(得分:1)

没有标准接口可以列出目录中的文件,或者将它们与C ++中的glob匹配。

您必须依赖特定于平台的API才能实现此目的。要找出哪一个,你必须首先找出你正在编程的系统。

即将推出的C ++ 17标准将具有用于列出目录中文件的API,并且它已作为可选TS存在。但是没有通配功能。作为替代方案,可以使用正则表达式实现外卡匹配。

答案 1 :(得分:1)

我不认为这样的事情在cpp中是可能的。每个文件对象都会打开一个包含指定路径的文件。如果要打开文件夹中的所有文件,我建议您列出目录中的文件,并迭代打开所有必需的文件。

std::filesystem::directory_iterator(path)返回一个迭代器,您可以使用该迭代器选择相应的文件,然后打开它们