【问题标题】:Reading from set of files [duplicate]从一组文件中读取[重复]
【发布时间】:2014-01-16 01:36:48
【问题描述】:

我是新手,所以请不要因为我提出简单的问题而对我苛刻。我的主要问题是如何使用 c++ 中的循环依次读取位于目录中的多个文件并对它们执行一些操作? 我的代码是这样的:

string corpus = "corpus.txt";

myfile.open(corpus);
if (myfile.is_open())
    while (!myfile.eof()) 
    {
        //Do something

    }//end of while


    MergeFiles(corpus,count);`

如何对一组文件而不是一个文件执行此操作。

【问题讨论】:

  • 你能得到文件列表吗?您使用的是什么操作系统?
  • 您想获取特定目录中所有文件的列表吗?如果是这样,您可能需要更新您的问题以澄清这一点。
  • Windows,我不知道我该怎么做这个任务
  • @OldAzhdar 什么任务?从目录中获取所有文件名还是迭代?
  • 我只想做我现在对单个文件所做的事情,对于一组文本文件而不是一个,假设它们位于“D:\new\*.txt”跨度>

标签: c++ file


【解决方案1】:

看起来您可以执行以下操作之一:

  • 使用 Windows API
  • 使用第三方代码

看起来最简单的方法是使用diren.h。在此处查找示例代码: How can I get the list of files in a directory using C or C++?

您可以使用boost libraries,更具体的是the filesystem library。这是一个更强大但更复杂的解决方案,需要您使用迭代器和更高的编程方法。

不推荐使用 windows API,因为它需要对 windows 的理解,并且不会产生可移植的代码。如果你想使用它,MSDN 中有一个例子。

【讨论】:

  • @CaptainObvlious 我正在编辑它,在键盘上滑动,然后发布。刚刚编辑。
  • 我建议坐在椅子上而不是站在键盘上。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-24
  • 2016-02-22
  • 1970-01-01
  • 2018-05-14
相关资源
最近更新 更多