Форум программистов, компьютерный форум CyberForum.ru

Работа с ФС - C++

Восстановить пароль Регистрация
 
silentnuke
Android Programmer
137 / 138 / 5
Регистрация: 08.12.2010
Сообщений: 421
06.07.2011, 00:31     Работа с ФС #1
Доброго времени суток.
Подскажите, есть ли функции в с++ для копирования и перемещения папки, или всеже свою писать придется?)
Для файлов знаю есть CopyFile(), ну и любимые досовские комманды.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
insolent
 Аватар для insolent
826 / 347 / 15
Регистрация: 30.01.2009
Сообщений: 1,204
06.07.2011, 01:28     Работа с ФС #2
В винде
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <windows.h>
#include <iostream>
 
using namespace std;
 
int main(int argc, char* argv[])
{
    SHFILEOPSTRUCT sf;
    memset(&sf,0,sizeof(sf));
    sf.hwnd = 0;
    sf.wFunc = FO_COPY;
    sf.pFrom = L"d:\\temp\\*.*";
    sf.pTo = L"d:\\temp_new";
    sf.fFlags = FOF_NOCONFIRMATION | FOF_NOCONFIRMMKDIR | FOF_NOERRORUI;
 
    int n = SHFileOperation(&sf);
    if( n == 0)
    {
        cout << "Success\n";
    }
    else
    {
        cout << "Failed\n";
    }
 
    cin.get();
    return 0;
}
silentnuke
Android Programmer
137 / 138 / 5
Регистрация: 08.12.2010
Сообщений: 421
06.07.2011, 01:41  [ТС]     Работа с ФС #3
insolent,
Спасибо, как вариант, возьму на заметку разобраться подробнее.
Есть ещё альтернативы под винду?
желательно с использованием вместо LPCTSTR char*.
Плюс не нужен прогресс бар, ибо всеравно потом свой крутить буду, когда дойдет дело до создания своего gui.
но так понимаю его если что можно отключить через fFlags?
update: угу покурив msdn стало ясно что FOF_NO_UI поможет
остается тогда открытым вопрос про альтернативы, и желательно с типом пути char*)
bigredcat
364 / 311 / 3
Регистрация: 24.02.2011
Сообщений: 1,512
Записей в блоге: 1
06.07.2011, 08:25     Работа с ФС #4
Цитата Сообщение от silentnuke Посмотреть сообщение
желательно с использованием вместо LPCTSTR char*.
А в чем собственно проблема?
Что использовать char* или wcahr_t* зависит от вашего желания. Это можно регулировать как локально используя SHFILEOPSTRUCTA или SHFILEOPSTRUCTW, соответственно, SHFileOperationA или SHFileOperationW, так и глобально, например, для VC++ определив в настройках проекта набор знаков.
silentnuke
Android Programmer
137 / 138 / 5
Регистрация: 08.12.2010
Сообщений: 421
06.07.2011, 09:43  [ТС]     Работа с ФС #5
Цитата Сообщение от bigredcat Посмотреть сообщение
А в чем собственно проблема?
Что использовать char* или wcahr_t* зависит от вашего желания. Это можно регулировать как локально используя SHFILEOPSTRUCTA или SHFILEOPSTRUCTW, соответственно, SHFileOperationA или SHFileOperationW, так и глобально, например, для VC++ определив в настройках проекта набор знаков.
блин точно, ночной тупнякм был..)
insolent
 Аватар для insolent
826 / 347 / 15
Регистрация: 30.01.2009
Сообщений: 1,204
06.07.2011, 13:00     Работа с ФС #6
Цитата Сообщение от silentnuke Посмотреть сообщение
Есть ещё альтернативы под винду
Можешь посмотреть в сторону boost::filesystem
silentnuke
Android Programmer
137 / 138 / 5
Регистрация: 08.12.2010
Сообщений: 421
06.07.2011, 22:55  [ТС]     Работа с ФС #7
Спасибо, посмотрю.
Ещё такой вопрос, как можно получить список папок и файлов (включая русские имена файлов и папок) по указанному пути в windows?
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
06.07.2011, 23:10     Работа с ФС #8
Цитата Сообщение от silentnuke Посмотреть сообщение
Ещё такой вопрос, как можно получить список папок и файлов (включая русские имена файлов и папок) по указанному пути в windows?
http://www.solarix.ru/for_developers...ctory_iterator
Yandex
Объявления
06.07.2011, 23:10     Работа с ФС
Ответ Создать тему
Опции темы

Текущее время: 23:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru