Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

Разработка программ обработки файлов в ОС Windows

Автор:   •  Декабрь 22, 2018  •  Лабораторная работа  •  1,712 Слов (7 Страниц)  •  133 Просмотры

Страница 1 из 7

Липецкий государственный технический университет

Кафедра автоматизированных систем управления

ЛАБОРАТОРНАЯ РАБОТА № 1

по курсу «Операционные Системы»

Разработка программ обработки файлов в ОС Windows

Студент    

Барышев Е. И.   

Группа  ПИ-16

. 

Руководитель

 Батищев Р. В.

Липецк  2018 г

Цель работы

Получение навыков использования функций Windows API, обеспечивающих обработку файлов.

Задание кафедры

Написать программу вставки n строк исходного файла в заданную позицию результирующего файла и последующей установки/получения атрибутов результирующего файла. Исходные данные указываются пользователем в аргументах командной строки: количество строк – в качестве второго аргумента, номера строк – в качестве третьего – [(n+3)-1]-го аргументов, далее следуют имена исходного и результирующего файлов, следующий аргумент – позиция, в которую следует вставлять строки.

[pic 1]

Листинг программы

wstring ToWString(const std::string& s) {

        std::wstring temp(s.length(), L' ');

        std::copy(s.begin(), s.end(), temp.begin());

        return temp;

}

DWORD DefAttribute(string StrAtr) {

        if (StrAtr == "A") return FILE_ATTRIBUTE_ARCHIVE;

        if (StrAtr == "H") return FILE_ATTRIBUTE_HIDDEN;

        if (StrAtr == "R") return FILE_ATTRIBUTE_READONLY;

        if (StrAtr == "S") return FILE_ATTRIBUTE_SYSTEM;

        if (StrAtr == "T") return FILE_ATTRIBUTE_TEMPORARY;

        if (StrAtr == "C") return FILE_ATTRIBUTE_COMPRESSED;

        if (StrAtr == "D") return FILE_ATTRIBUTE_DIRECTORY;

        if (StrAtr == "NI") return FILE_ATTRIBUTE_NOT_CONTENT_INDEXED;

        return 0;

}

int DefPosition(string pos) {

        if (pos == "Current") return 1;

        if (pos == "End") return 2;

        return 0;

}

int GetAttributes(string StrAtr) {

        string buffer = "";

        DWORD atr = 0;

        for (int i = 1; i < StrAtr.length(); i++) {

                if (StrAtr[i] == '/') {

                        atr = atr | DefAttribute(buffer);

                        buffer = "";

                }

                else {

                        buffer += StrAtr[i];

                }

        }

        if (buffer != "") atr = atr | DefAttribute(buffer);

        return atr;

}

string GetStrings(string text, int* numbers, int count) {

        string buffer = "";

        int NumString = 1;

        int ipCurrNeedStr = 0;

        int CurrNeedStr = numbers[ipCurrNeedStr];

        for (int i = 0; i < text.length(); i++) {

...

Скачать:   txt (6.7 Kb)   pdf (264.8 Kb)   docx (89.2 Kb)  
Продолжить читать еще 6 страниц(ы) »
Доступно только на Essays.club