Boost.Filesystem fait cela de manière portable. Son tutorial explique comment effectuer cette tâche exacte. En bref:
#include <algorithm>
#include <boost/filesystem.hpp>
#include <iostream>
namespace fs = boost::filesystem;
using namespace std;
int main(int argc, char *argv[])
{
fs::path p(argv[1]);
if (fs::exists(p) && fs::is_directory(p))
copy(fs::directory_iterator(p), fs::directory_iterator(),
ostream_iterator<fs::directory_entry>(cout, "\n"));
return 0;
}
Si vous ne souhaitez utiliser dirent.h
, comprennent comme:
#include <sys/types.h> /* required before including sys/dirent.h! */
#include <sys/dirent.h>
Et le système d'exploitation/exécution est? http://faq.cprogramming.com/cgi-bin/smartfaq.cgi?answer=1046380353&id=1044780608 – khachik
Vous devez nous indiquer ce que vous utilisez, l'erreur que vous obtenez et le code que vous utilisez. Sinon, nous ne pouvons pas aider –
Cela ressemble à une erreur de compilation, mais comment pouvons-nous dire à coup sûr? – bmargulies