Лабораторні роботи WinApi
Лабораторна робота №1
Копіювання файлів
Завдання:
- Розібрати роботу програм copy1.c, copy2.c ( архів c_text.zip).
- Написати власну програму копіювання файлів використовуючи функції WinApi:
CreateFile();
ReadFile();
WriteFile();
CloseHandle(); - Обов'язково обробити можливість виникнення помилок при виклику системних функцій. Виводити код отриманої помилки використовуючи функцію GetLastError();
- Ім'я вхідного файлу, вихідного файлу мають задаватися в командному рядку.
- Визначити оптимальний розмір буферу пам'яті, який використовується в програмі для копіювання.
- Перевірити працездатність програми при копіюванні великих файлів.
- Програма має виводити під час копіювання відсотки виконаної роботи.
- Програма має після копіювання вивести інформацію про скопійований файл (ім'я, дату створення, дату модифікації, розмір, тощо).
- Програма має вивести кількість часу, витраченого на копіювання.
- Порівняти час копіювання з часом копіювання вбудованою консольною командою COPY. Пояснити отриманий результат.
Додаткове, необов'язкове завдання.
Додати можливість копіювати папки. Копіюватися мають усі вкладені папки та файли. Атрибути файлів та папок мають зберігатися. Доцільно використати рекурсивний прохід по деревоподібній структурі.