读取文件夹xcode c ++中的文件

时间:2015-10-16 03:21:31

标签: c++ xcode file directory

我是C ++的新手。我一直在尝试访问特定文件夹中的文件名。我不确定我是否应该使用矢量或列表。我试过一个清单,只是因为那是我习惯的。

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

list<string> file_list(string file)
{
    list<string> list;
    ifstream files;
    string line;
    files.open(file);
    while (getline(files, line)) {
        list.push_back(line);
    }
    files.close();
    cout << &list << endl;
    return list;
}

当我调试变量line时保持空白并打印出0x7fff5fbff6b0。 我正在尝试访问我的下载文件夹。字符串变量'file'是它的直接路径。它打开很好,但我无法访问其中的文件名。

2 个答案:

答案 0 :(得分:0)

C ++标准库没有文件系统访问库(yet)。如果要枚举文件夹中的所有文件而编译器没有std::experimental::filesystem,则可以使用boost::filesystem

答案 1 :(得分:0)

这个

cout << &list << endl;

打印出列表的地址,即神秘的0x7fff5fbff6b0,而不是列表的内容。

要打印内容,您需要更像

的内容
for (string & str: list)
{
    cout << str << endl;
}

哦,失去了;在

结束时
list<string> file_list(string file);

杜尔。是啊。完全错过了OP试图做的事情。

像文件一样读取目录不适用于流。您必须使用特定于平台的方法。请将此问题改为:How do you iterate through every file/directory recursively in standard C++?