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

Копировать, перенести, удалить файлы в C++ - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.73
DruidCat
4 / 4 / 1
Регистрация: 15.12.2012
Сообщений: 31
18.03.2013, 22:43     Копировать, перенести, удалить файлы в C++ #1
Здравствуйте ребята, я новичок в С++, и мне нужен ваш совет, как профессиональных программистов.
Я пишу консольную программу, которая на определенном этапе переносит файлы из одной папки в другую. Данную операцию я делаю с помощью команды:

Пример от балды написал файл text.txt лежащий на с:\ скопировать в c:\new\
C++
1
system ("COPY c:\text.txt c:\new\");//активируем команду копирования
а потом мне приходится удалять файл c:\text.txt, так как по задумке программа перемещает этот файл.
C++
1
system ("DEL c:\text.txt");//Удаление файла
Все ничего, но меня очень напрягают надписи в консоли о том, что скопирован один файл (результат копирования).
1) Можно ли убрать эту надпись, чтоб копирование происходило без вывода сообщения в консоль?
2) У меня возникает еще вопрос, а как можно переместить файл? Дело в том, что моя программа копирует и удаляет не только текстовые файлы, но и большие по размеру pdf файлы в большом количестве, и процесс копирования иногда затягивается на одну минуту. Какой есть механизм для переноса файлов?
3) Подскажите пожалуйста, как проверить, существует ли папка на жестком диске? Это мне нужно для того, что если этой папки нет, моя программа эту папку автоматически создала бы. Дело в том, что моя программа проверяет результат копирования файлов, она сначала физически проверяет, что файл скопировался, а потом удоляет.
C++
1
2
3
4
5
6
ifstream infile("c:\new\text.txt");//открываем поток чтения данных в файл
if ( ! infile.is_open() )//Проверка, если файл не открыт...
{
    infile.close();//закрываем поток чтения файла
    return 1;//Возвращение ошибки и вывод сообщения "Ошибка копирования файлов, не верный путь их размещения."
}
А вот как проверить существует ли папка, я не знаю, подскажите механизм проверки наличия папки.
4) Я видел кучу консольных программ, где, когда происходит копирование файла, или еще какой процесс, в одной строчке изменяется в процентах статус выполнения операции. Как это делается? Чтоб в одной и той же строчке в терминале шло какое то изменение (обновление). Я подумал, что такое возможно сделать при постоянной очистке терминала и выводе какого то изменения.
C++
1
2
3
4
5
for (unsigned int step=0; step<100; step++)
{
cout << "Процесс: "<<step<<"%"<<endl;
system ("CLS");
}
но этот вариант вата, так как удаляется результат работы программы до этого в терминале.
Подскажите пожалуйста лучший вариант.
PS: Прошу прощения за мои вопросу, если они вам покажутся примитивными, просто я начинающий и многого не знаю.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.03.2013, 22:43     Копировать, перенести, удалить файлы в C++
Посмотрите здесь:

C++ удалить старые файлы
<fstream> как копировать файлы? C++
C++ Как удалить каталог, который имеет вложеные папки и файлы?
C++ удалить пробелы из текста (файлы последовательного доступа)
Как удалить все файлы в папке без WinAPI ? C++
Файлы. Удалить все числа между первым максимальным и последним минимальным числом C++
Удалить файлы с одним расширением C++
C++ Файлы. С файла нужно удалить слово, в котором самое большое количество РАЗНЫХ букв

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
UnsKneD
алкокодер
 Аватар для UnsKneD
153 / 149 / 11
Регистрация: 27.12.2012
Сообщений: 548
19.03.2013, 03:07     Копировать, перенести, удалить файлы в C++ #2
Цитата Сообщение от DruidCat Посмотреть сообщение
А вот как проверить существует ли папка, я не знаю, подскажите механизм проверки наличия папки.
http://msdn.microsoft.com/ru-ru/library/14h5k7ff.aspx
Или http://msdn.microsoft.com/ru-ru/libr...=vs.90%29.aspx

Добавлено через 3 минуты
по консоли http://msdn.microsoft.com/en-us/libr...=VS.85%29.aspx
но пока что только на английском
Yandex
Объявления
19.03.2013, 03:07     Копировать, перенести, удалить файлы в C++
Ответ Создать тему
Опции темы

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