Ошибка листинга директории с помощью scandir из dirent.h
Есть код:
#include <iostream>
#include <dirent.h>
using namespace std;
int sel(const struct dirent *d)
{
return 1;
}
int main(int argc, char *argv[])
{
int i, n;
struct dirent **entry;
if (argc != 2)
{
cout << "Using: %s <directory>\n" << argv[0];
return 0;
}
n = scandir(argv[1], &entry, sel, alphasort);
if (n < 0)
{
cout << "Erorr reading directory\n";
return 1;
}
for (i = 0; i < n; i++)
{
cout << entry[i]->d_name << entry[i]->d_ino << "\n";
return 0;
}
}
Пишу "./DIRscan /home". Выводит число .9863181. Что не так?
Источник: Stack Overflow на русском