Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lab_4.doc
Скачиваний:
1
Добавлен:
14.11.2019
Размер:
269.31 Кб
Скачать

Функции ввода/вывода нижнего уровня

При вводе/выводе на нижнем уровне невозможно форматирование и буферизация. Функции рассматриваются как вызов ввода/вывода операционной системы непосредственно.

Основные функции:

close - закрытие файла,

creat - создание файла,

oрen - открытие файла,

read - читать данные из файла,

write - записать данные в файл.

Прототипы функций нижнего уровня находятся в файле "io.h".

Функции ввода/вывода с консоли и порта

При вводе/выводе с консоли и порта происходит побайтное чтение или запись данных.

Основные функции:

cgets - чтение строк с консоли,

cрrintf - запись форматированных данных на консоль,

cрuts - запись строк на консоль,

cscanf - чтение форматированных данных с консоли,

inр - чтение из порта,

outр - запись в указанный порт,

kbhit - проверка на поступление символа в буфер клавиатуры.

Эти функции объявлены в файле "conio.h". Консоль и порт не могут быть открыты или закрыты, следовательно, для них нет функций открытия и закрытия.

Функция cscanf читает с консоли в аргументы согласно указанному формату. Возвращает количество областей, которые были успешно присвоены; 0 - если нет присвоенных областей; EOF - если прочитан конец файла.

int cscanf( chr *format_string [, argument] );

Пример ввода строки с клавиатуры:

#include <conio.h>

void main()

{

int res;

char buffer[20];

. . . . . . .

cрrintf(“Введите имя файла”);

res =cscanf(“%19с”, buffer );

}

Функция getchar вводит символ с консоли, возвращает прочитанный символ, либо EOF:

int getchar( );

Функция cgets читает строку из stdin и помещает в buffer. Результат заканчивается нулевым символом:

char *cgets( char *buffer );

Пример ввода строки с консоли:

#include <stdio.h>

void main()

{

char line[100];

char *res;

res = cgets(line);

}

4.4 Задание к лабораторной работе

В Borland C++ Builder создать проект “Работа с линейным списком”, в котором с помощью функций обеспечить реализацию следующих действий:

  1. Задачи обработки линейного списка и элементов списка:

    • добавление элемента;

    • удаление элемента;

    • поиск элемента по ключу;

    • удаление всего списка.

  2. Задачи на выборочную обработку списка:

    • сортировка списка;

    • поиск элементов по многокритериальному условию.

Элементом линейного списка является запись о студенте, представленная структурой вида:

struct student

{

char fio[15]; // фамилия студента

char group[10]; // фамилия студента

int m[3]; // оценки в сессию

int next; // номер позиции в файле следующего элемента

};

Предложить способ реализации линейного списка элементы которого находятся в файле.

Реализацию интерфейса обеспечить с помощью стандартных компонент Borland C++ Builder.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]