Система :: IO :: Каталог :: GetFiles в C ++ - PullRequest
1 голос
/ 06 января 2010

У меня проблемы с хранением файлов в строковом массиве из каталога на c ++ с использованием System::IO::Directory::GetFiles in c++

Также хотелось бы знать, можем ли мы скопировать всю папку в новое место назначения / в c ++, как указано в http://www.codeproject.com/KB/files/xdirectorycopy.aspx для c #

Ответы [ 3 ]

1 голос
/ 06 января 2010

Вы можете сохранить имена файлов из каталога в управляемом массиве следующим образом:

System::String ^path = "c:\\";  
cli::array<System::String ^>^ a = System::IO::Directory::GetFiles(path);

Console::WriteLine(a[0]);
Console::ReadKey();

Что касается того, как бы вы скопировали всю папку ... Просто выполните рекурсию из заданного корневого каталога, создав каждый каталог и скопировав файлы в новое место. Если вы запрашиваете код для этого, то, пожалуйста, скажите об этом, но, по крайней мере, сначала попытайтесь выяснить это сами (т.е. покажите, что у вас есть).

0 голосов
/ 07 января 2010

Предполагая, что вы используете Win32, вы ищете API FindFirstFile и FindNextFile .

C / C ++ не определяет стандартный способ сделать это, хотя Boost :: Filesystem предоставляет метод, если вам нужна межплатформенная поддержка.

0 голосов
/ 06 января 2010

Проверьте программу листинга файлов в Boost :: FileSystem: http://www.boost.org/doc/libs/1_41_0/libs/filesystem/example/simple_ls.cpp. Они перебирают все файлы, печатают пути, но вместо этого их просто хранить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...