Просмотр полной версии : копирование папок (с++/с)
ПОЖАЛУЙСТА кому не лень то подскажите как копировать папки в с++/с , мне понятно что с помощью функции винапи,но реализовать неполучается.....,а нада очень очень)))
или так,тот кто мне поможет получит семизнак!
Х8y-xy5-1
заранее благодарен!!!
[Great]: Учись темы называть. В след. раз минус
http://msdn2.microsoft.com/en-us/library/ms647743.aspx
Это если тебе окно с индикатором копирования не будет мешать))
Иначе придётся рекурсивно копировать каждый файл из директории и каждой поддиректории. (FindFirstFile, FindNextFile, FindClose, CopyFile)
Семизнак не нужен.
так,ребята нада помощь.нада пример копирования папки на языке с++.
что можно взамен дать за это??
очень просто нада.
блииин чувак, ну тебе же дали ссылку на функцию. Вот, что я замутил за 10 минут:
int CopyFiles(char* source,char* target)
{
SHFILEOPSTRUCT cf;
cf.hwnd=NULL;
cf.wFunc=FO_COPY;
cf.pFrom=source;
cf.pTo=target;
cf.fFlags=FOF_NOCONFIRMMKDIR;
if(SHFileOperation(&cf))return 1;else return 0;
}
Семь строчек кода и все. Использовать так:
тебе надо скопировать папку c:\1\ в d:\1\, вызываешь вот так:
CopyFiles("c:\\1\\*","d:\\1\\");
P.S. А чтобы копировалось незаметно надо добавить одну строчку и все. В той ссылке, что тебе дал hidden все прекрасно описано как сделать это и не только. Юзай MSDN
а шоб както на фтп? примерно на 10.0.0.1 (понятно что локальное)
пожалуйста , может чемто смогу отблагодарить
пффффф, а сразу че не говорил?
это уже вообще другой вопрос. Могу тебе предложить изучить протокол фтп и юзать сокеты. Хотя может есть варианты и полегче. Но полюбас это уже не 7 строчек.
ЭТО плохо. другой вопрос?если какаято команда в кмд,которая скрывает окошко консоли?
не знаю можно ли скрыть cmd (точно можно, но хз как), но есть функция ShellExecute() (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/reference/functions/shellexecute.asp)
Вот ей можешь выполнять теже комманды что и в cmd в скрытом режиме. Как не знаю, ей не пользовался. Только что вот запустил ей блокнот:
ShellExecute(hwnd,"open","c:\\windows\\notepad.exe","","",SW_NORMAL);
В MSDN написано, там есть скрытый режим. Так что думаю можно юзать стандартного виндового фтп клиента с помощью этой функции не заметно.
тил ей блокнот:
ShellExecute(hwnd,"open","c:\\windows\\notepad.exe","","",SW_NORMAL);
так плохо- результат не вернётся, чтобы результат посмотреть(правда в ущерб асинхронности), стоит делать через пайпы
std::string Shell(std::string cmd)
{
FILE *pf;
if( (pf = _popen(cmd.c_str(), "rt")) == NULL )
throw std::runtime_error("_popen error");
std::vector<char> buf(4097);
std::string ret;
for(;;){
char* str = fgets(&buf[0], int(buf.size()) - 1, pf);
if(!str) break;
Decode_DOS_to_Win(&buf[0]);
ret += std::string(&buf[0]);
}
_pclose(pf);
return ret;
}
А если через апи захочешь делать, тут есть все примеры, для поиска, получения и закачки файлов на фтп, причём как-раз на С++
http://msdn2.microsoft.com/en-us/library/aa384180.aspx
sni4ok
можеш ещераз обьяснить?просто я нащинающий,а то что ты сказал .это то что для меня нада ,но ошибка в библиотеки .....
если несложно.
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot