Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Копирование файлов в C++Builder

632
28 сентября 2002 года
Innate
20 / / 20.08.2000
Как получить имена файлов, находящихся в определенной папке?
Как скопировать все файлы из одной папки в другую, не зная заранее имен этих файлов?
Как скопировать папку, не зная заранее имени этой папки?
Если пришлете библиотеку, которая это делает,
буду благодарен.
[EMAIL]Nemd@rambler.ru[/EMAIL]


[ Это Сообщение было отредактировано Innate в 2002-09-28 1925 ]
250
29 сентября 2002 года
Joker
1.4K / / 20.02.2000
Цитата:

On 2002-09-28 1852, Innate wrote
Как получить имена файлов, находящихся в определенной папке?
Как скопировать все файлы из одной папки в другую, не зная заранее имен этих файлов?
Как скопировать папку, не зная заранее имени этой папки?
Если пришлете библиотеку, которая это делает,
буду благодарен.
[EMAIL]Nemd@rambler.ru[/EMAIL]


[ Это Сообщение было отредактировано Innate в 2002-09-28 1925 ]


FindNextFile
CopyFile

632
29 сентября 2002 года
Innate
20 / / 20.08.2000
[/quote]
FindNextFile
CopyFile
[/quote]

Спасибо!
632
30 сентября 2002 года
Innate
20 / / 20.08.2000
Есть ли что-то подобное, но не API, с обычными
типами ( AnsiString, а не char* в качестве имени файлов и других строк )?

[ Это Сообщение было отредактировано Innate в 2002-09-29 2116 ]
317
30 сентября 2002 года
Relax
573 / / 20.09.2000
а в чем проблема-то? есть же функция преобразования из 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(&quot;res&quot;)) == NULL) {ShowMessage(&quot;Unable to open directory&quot;); 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(&quot;res&quot;)) ShowMessage(&quot;Не могу войти в res&quot;);

FILE *fl;
if( (fl=fopen(fn[j],&quot;r&quot;)) == NULL) ShowMessage(&quot;Не могу открыть файл&quot;);


fclose(fl);

if (chdir(&quot;..&quot;) ) ShowMessage(&quot;Не могу выйти из res&quot;);
j++;
}

if (closedir(dir) != 0) ShowMessage(&quot;Unable to close directory&quot;);

}
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог