C ++基于文本文件加载文件

时间:2016-04-20 16:19:31

标签: c++

我想知道是否可以根据文本文件的内容加载文件。基本上,我有一个.txt文件,如下所示:

"File1.txt"
"File2.txt"
"File3.txt"
...
...
...

理论上,我可以加载任意类型的无限数量的文件,而不仅仅是.txt。我对文件加载的工作方式有基本的了解,但如果有人有任何想法或最好的例子,我将非常感激。

谢谢

编辑: 似乎对我所要求的内容存在一些困惑,所以这里什么都没有。

我希望能够让程序根据文本文档中的文件名列表加载多个文件。文件名将是3d模型,声音文件,图像,其他文本文档等的名称。我希望程序打开文本文档然后逐行获取文件名,并以某种方式将这些名称输入到要加载的函数中。

所以流程的流程如下: 打开文本文档 - >获取文本文档中的第一个文件名 - >将该文件名插入到函数中以加载具有该名称的文件 - >获取文本文档中的下一个文件名 - >将该文件名插入到函数中以加载具有该名称的文件 - >等等。

截至目前,唯一阻止我实现这一点的是,我不知道如何(并且无法找到有关如何)的信息,逐行读取文本文件以获取文件名,以及然后让程序将这些名称插入到要加载的文件的函数中,所以我正在寻找一些建议和示例代码(如果有的话)。我希望这能澄清我的问题。如果您需要更多信息,请随时提出。

2 个答案:

答案 0 :(得分:0)

目前尚不清楚你的意思。你有一个包含文件名的txt文件?从所有这些文件中,您只想加载那些具有特定内容的文件?

如果是,那么您可能希望拥有"标签"属于每个文件名,因此您可以轻松查找这些文件中的内容,并只读取这些文件。

否则,您可能必须阅读所有文件,找到正确的内容并重新处理文件。但这将是非常无效的。

答案 1 :(得分:0)

#include <fstream>
#include <string>
#include <iostream>
using namespace std;

int main()
{
  string fileName;

  ifstream myfile ("example.txt");

  if (myfile.is_open())
  {
    while ( getline (myfile,fileName) )
    {
      ifstream myfile2 (fileName);
      //do something
      myfile2.close();
    }
    myfile.close();
  }
  else cout << "Unable to open file"; 

  return 0;
}