Зміст
1. Опис завдання
. Структурний опис розробки
. Функціональне опис розробки
. Опис інтерфейсу програми
. Контрольні приклади
Висновки
Список використаної літератури
Додаток А. Файл В«MyClass.hВ»
Додаток Б. Файл В«courses.cppВ»
1. Опис завдання
Клас двійкового файлу, похідний від fstream. Двійковий файл містить задану структуру даних. Програма повинна являти собою простий текстовий редактор, що використовує структуру даних для проміжного зберігання редагованого файлу. Повинні бути реалізовані операції створення та заповнення двійкового файлу із заданого текстового і збереження вмісту двійкового файлу в текстовому. p align="justify"> Варіант 4.2.
Клас - двійковий файл, похідний від fstream. Файл містить однозв'язний список рядків у форматі записів змінної довжини з лічильником. Формат файлу: на початку файлу - заголовок списку. Елемент списку містить файловий покажчик на наступний і саму рядок у вигляді запису змінної довжини. br/>
2. Структурний опис розробки
двійковий файл програма редактор
Для реалізації поставленого завдання був розроблений новий клас В«bin_fileВ».
Він є класом-спадкоємцем від fstream. bin_file дозволяє здійснювати роботу зі структурою даних однозв'язний список рядків (змінної довжини), використовуючи двійковий файл як основне місце зберігання інформації. p align="justify"> На даному малюнку представлена ​​внутрішня структура двійкового файлу.
В
На початку файлу розташований заголовок (за замовчуванням bin) займає 3 байти. За ним йде файловий покажчик Next (4 байти), який вказує на наступний елемент списку, якщо такого немає він дорівнює 0, поточний елемент є останнім. За Next так само слід цілочисельне значення задає довжину рядка міститься в елементі. Останньою розташована сама рядок. p align="justify"> Для тимчасового зберігання оброблюваного елемента списку, в клас були додані такі поля як:
private: next; length;
char * str;
Вони використовуються методами класу bin_file, які викладені в В«функціональному описіВ».
3. Функціональне опис розробки
Почнемо функціональний опис з конструктора класу bin_file.
bin_file (const char * name, int p): basic_fstream (name, ios :: in | ios :: out | ios :: binary) {//p = 0: новий файл p = 1 : використовувати готовийi = 0; (p == 0) {(name_list, strlen (name_list));
write ((char *) & i, 4);// покажчик на слід
write ((char *) & i, 4) ;//довжина 1строкі
}
cout <<"Open. n";