Копирование файлов в C++Builder
Как скопировать все файлы из одной папки в другую, не зная заранее имен этих файлов?
Как скопировать папку, не зная заранее имени этой папки?
Если пришлете библиотеку, которая это делает,
буду благодарен.
[EMAIL]Nemd@rambler.ru[/EMAIL]
[ Это Сообщение было отредактировано Innate в 2002-09-28 1925 ]
Цитата:
On 2002-09-28 1852, Innate wrote
Как получить имена файлов, находящихся в определенной папке?
Как скопировать все файлы из одной папки в другую, не зная заранее имен этих файлов?
Как скопировать папку, не зная заранее имени этой папки?
Если пришлете библиотеку, которая это делает,
буду благодарен.
[EMAIL]Nemd@rambler.ru[/EMAIL]
[ Это Сообщение было отредактировано Innate в 2002-09-28 1925 ]
FindNextFile
CopyFile
FindNextFile
CopyFile
[/quote]
Спасибо!
типами ( AnsiString, а не char* в качестве имени файлов и других строк )?
[ Это Сообщение было отредактировано Innate в 2002-09-29 2116 ]
а в чем проблема-то? есть же функция преобразования из AnsiString в char*:c_str()называется... если уж совсем влом - можешь обертку написать для апишных функций...
Это пример кода, который работает,
только что проверил.
Сразу скажу, этом может быть не лучший
способ, но он (исправьте меня, есля я ошибаюсь) должен работать даже под UNIX
Шлите вопросы, если что не ясно
Галин А.М.
#include <dirent.h>
#include <dir.h>
#include <fstream.h>
void __fastcall TForm1Button1Click(TObject *Sender)
{
DIR *dir;
struct dirent *ent;
char fn [100][14];
int j=1;
//чтение имен файлов директории res
if ((dir = opendir("res")) == NULL) {ShowMessage("Unable to open directory"); return;}
rewinddir(dir); ent = readdir(dir); ent = readdir(dir);
while ((ent = readdir(dir)) != NULL){
strcpy(fn[j], ent->d_name);
ShowMessage(fn[j]);
if (chdir("res")) ShowMessage("Не могу войти в res");
FILE *fl;
if( (fl=fopen(fn[j],"r")) == NULL) ShowMessage("Не могу открыть файл");
fclose(fl);
if (chdir("..") ) ShowMessage("Не могу выйти из res");
j++;
}
if (closedir(dir) != 0) ShowMessage("Unable to close directory");
}