Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 09.06.2019
Сообщений: 2

работа с файлами, каталогами средствами языка С++

09.06.2019, 10:53. Показов 1746. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
//Доброго времени суток . Алгоритм сортировки вставками понятен.Но с болью непонятны функции .которые нужно реализовать .
Применить алгоритм сортировки простыми вставками (по возрастанию). Реализовать функции, которые выполняют следующие действия:
1. Создание полного пути к файлу или директории
char *CombinePath(const char *directoryPath, const char *fileName);

2. Рекурсивный обход всех файлов и директорий каталога directoryPath с использованием функций _findfirst() и _findnext() и выполнение для каждого файла и каталога функции, переданной с помощью указателя fileObjectProcessor
typedef bool (*FileObjectProcessor)(bool isDirectory,
const char *fileObjectPath);
bool TraverseDirectory(char *directoryPath,
FileObjectProcessor fileObjectProcessor);

Функция обратного вызова, передаваемая при помощи указателя типа FileObjectProcessor, должна возвращать true, если следует продолжать дальнейшую обработку файлов. Функция TraverseDirectory должна возвращать true, если для всех файлов и каталогов функция, передаваемая при помощи указателя типа FileObjectProcessor, вернула true, в противном случае она должна вернуть false.

3. На базе функции TraverseDirectory реализовать функцию, которая создаст в каждом каталоге, имя которого содержит Вашу фамилию, дочерние папки с именами «Самостоятельные работы», «Контрольные работы» и «Практические задания».
Для этого необходимо реализовать функцию создания в указанном каталоге (директории) directoryPath папки с именем subDirectoryName (не содержит слешей).
bool CreateDirectory(const char *directoryPath,
const char *subDirectoryName);

Функция должна выполнить создание всех отсутствующих в файловой системе частей в directoryPath.

4. На базе функции TraverseDirectory реализовать функции, которые выполняют переименование дочерних папок и файлов, которые содержат Вашу фамилию. Вместо фамилии в имени папки и файла должно появиться Ваше фамилия, имя и отчество. Например, папка «Петухова» должна стать папкой «Петухова Надежда Николаевна». Для этого необходимо реализовать вспомогательные функции переименования файла или каталога (директории):
bool RenameFile(const char *originalFilePath,
const char *newFileName);
bool RenameDirectory(const char *originalDirectoryPath,
const char * newDirectoryName);

5. На базе функции TraverseDirectory реализовать функцию копирования файлов, содержащих Вашу фамилию, из исходной директории в целевую директорию с сохранением исходной структуры каталогов (каталоги, не содержащие в себе либо в дочерних каталогах файлов с Вашей фамилией, не должны создаваться при копировании).
Для копирования файлов должна быть реализована и использована функция CopyFile, копирующая содержимое файла sourceFilePath в новый файл newFilePath.
bool CopyFile(const char * sourceFilePath,
const char *destinationFilePath, int blockSize);

Копирование должно осуществляться блоками размером blockSize.
Провести экспериментальную оценку скорости копирования для блоков разного размера (1 байт, 4096 байтов, 5000 байтов, 65536 байтов).

6. На базе функции TraverseDirectory реализовать функцию, определяющую количество файлов и размеры файлов в директории. Возможно, для этого нужно будет изменить вид функции обратного вызова, передаваемой при помощи указателя.

7. На базе функции TraverseDirectory реализовать функцию, выполняющую сортировку N целочисленных элементов (в тестах задать N равным номеру варианта + 10), содержащихся по смещению N байтов от начала файла (результат должен быть сохранен в том же файле), в дочерних директориях, содержащих Вашу фамилию. При сортировке запрещено использовать временный буфер для чтения и записи из файла размером больше чем sizeof(int). Алгоритм сортировки определяется номером варианта.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.06.2019, 10:53
Ответы с готовыми решениями:

работа с файлами и каталогами!
добрый день!подскажите как можно сравнить фотографии между собой по битно, находящиеся в папке?

Работа с каталогами и файлами
Здравствуйте! Есть папка в которой есть файлы а также папки с другими файлами. Задача такова: посчитать сколько файлов во всех папках...

Работа с файлами и каталогами
Можете проверить код cmd? Задание: 1). Создать каталоги 1 и 2. В 1 создать каталоги АА и ВВ. А в ВВ каталог ВВ1. 2). Скопировать в 1 2...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.06.2019, 10:53
Помогаю со студенческими работами здесь

Работа с каталогами/файлами
нужно написать прогу в Borland C++ Builder 6 в консоле: Console Wizard (галочка на Console Application) Определить текущий каталог....

Работа с каталогами и файлами!
Здравствуйте! Только начала работат с php. Помогите, пожалуйста, с реализацией вот такой задачи. Нужно чтобы был: 1)ввод пути каталога...

Работа с файлами и каталогами
Нужна ваша помощь Задание: Чистка дисков: задается имя каталога (м.б. групповая) и тип файлов, подлежащих удалению.

Работа с файлами и каталогами
Пользователю предлагается ввести на странице имя некоторого каталога и данные запроса. В зависимости от запроса • заданный файл в...

Работа с каталогами и файлами
Ребята, помогите плиз. Такая задача: дан каталог в котором есть файлы с различными расширениями нужно найти все файлы с расширениями .txt...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru