Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.11.2012, 15:45   #1
andrei_seleznev
Новичок
Джуниор
 
Регистрация: 18.11.2012
Сообщений: 2
По умолчанию CopyFile (FindFirstFile, FindNextFile) копирование файлов из поддиректорий

Как, используя CopyFile (FindFirstFile, FindNextFile), скопировать файлы из конкретной директории и из всех поддиректорий?
andrei_seleznev вне форума Ответить с цитированием
Старый 18.11.2012, 16:05   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Как обычно, рекурсивно.

Если в папке что-то нашлось, то если это файл - скопировать, если папка и не спец. папка, то повторить сначала для этой папки.
p51x вне форума Ответить с цитированием
Старый 18.11.2012, 16:13   #3
andrei_seleznev
Новичок
Джуниор
 
Регистрация: 18.11.2012
Сообщений: 2
По умолчанию

может есть пример небольшой?
andrei_seleznev вне форума Ответить с цитированием
Старый 18.11.2012, 16:33   #4
Nuklon
Форумчанин
 
Аватар для Nuklon
 
Регистрация: 05.04.2012
Сообщений: 134
По умолчанию

Чисто Borland-ими обёртками.
Код:
#include <stdio.h>
#include <vcl.h>
#include <IdGlobal.hpp>


bool CopyAllFiles(AnsiString in_path, AnsiString out_path) {
    TSearchRec fp;
    if(FindFirst(in_path + "\\*.*", faAnyFile | faDirectory, fp) != 0)
        return false;
    do {

        if((fp.Name != ".") && (fp.Name != "..")) {
           if(fp.Attr & faDirectory)
                CopyAllFiles(in_path + '\\' + fp.Name, out_path);
           else
                CopyFileTo(in_path + '\\' + fp.Name, out_path + '\\' + fp.Name);
        }

    } while(! FindNext(fp));
    FindClose(fp);
    return true;
}


int main(int argc, char* argv[])
{
   // скопировать все файлы из папки D:\\src в папку C:\\dst
   CopyAllFiles("D:\\src", "C:\\dst");

   getchar();
   return 0;
}
Nuklon вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
FindFirstFile/FindNextFile. Намудрил что-то с адресами при передаче в функцию RAZOR1703 Win Api 2 06.12.2011 04:44
FindFirstFile не пропускает папки Nitrino Win Api 2 20.06.2010 20:03
FindFirstFile Vasyannm Общие вопросы C/C++ 3 20.05.2010 12:52
FindFirstFile Д'якон Win Api 2 14.03.2010 00:29
Копирование файлов с помощью copyfile mopozoff Общие вопросы Delphi 3 13.06.2008 12:59