Упражнение
Контрольные вопросы
Практикум
Вопросы и ответы
Заключение
Сегодняшний урок представил краткое введение в библиотеку ввода/вывода C++ и вынес на обсуждение следующие вопросы:
- Общие функции ввода/вывода, включая open, close, good, fail и оператор!.
- Функция open открывает файловый поток ввода/вывода и поддерживает попеременный и множественный режимы ввода/вывода. Функция close закрывает файловый поток. Функции good и fail индицируют успешную или ошибочную, соответственно, потоковую операцию ввода/вывода.
- C++ позволяет выполнять последовательный потоковый ввод/вывод для текста с использованием операций < и >, так же как и при помощи потоковой функции getline. Операция < позволяет записать символы и строки (а также и другие предопределенные типы данных). Операция > применяется для
- получения символов. Функция getline позволяет вашему приложению считывать строки с клавиатуры или из текстового файла.
- Последовательный потоковый ввод/вывод двоичных данных использует потоковые функции write или read для записи или считывания данных из переменных любого типа.
|
|
- Потоковый ввод/вывод прямого доступа для двоичных данных использует функцию seekg в объединении с функциями read и write. Функция seekg позволяет вам передвигать потоковый указатель либо в абсолютное, либо в относительное положение в потоке.
Как можно эмулировать прямой доступ к строкам в текстовом файле?
Сначала считывайте строки из файла как текст, получайте длину строк (плюс два символа для конца каждой строки) и сохраняйте накапливаемую длину в специальном массиве. (Назовите его, например, lineIndex) Этот массив сохраняет позицию байта, где начинается каждая строка. Последний элемент массива будет содержать размер файла. Для доступа к строке номер i, используйте функцию seek или seekg, чтобы найти смещение для lineIndex[i]. Размер строки номер i равен lineIndex[i+1] - lineIndex[i+1].
Как написать процедуру общего назначения для копирования между входным ивыходным файловым потоком?
Вам необходимо использовать потоковую функцию gcount() для получения ряда байт фактически читаемых в последнем неформатированном потоковом вводе. Вот функция copyStream:
void copyStream(fstreamit fin, fstreamil fout,
unsigned char* buffer, int buffSize)
{
int n;
while (fin. read (buffer, buffaize))
{
n = fin.gcount();
fout.write (buffer, n);
}
}
1. Верно или нет? Потоковые функции ввода/вывода read и write способны правильно считывать и записывать данные любого типа.
2. Верно или нет? Потоковые функции ввода/вывода read и write способны правильно считывать и записывать данные любого типа, не имеющих указателей.
3. Верно или нет? Функции seek и seekg расширяют файл, когда вы передаете индекс, который на один или более байт превышает текущий конец файла.
|
|
4. Верно или нет? Аргументы функций seek и seekg не требуют проверки диапазона.
Создайте программу VSEARCH.CPP, модифицируя программу VIRTUAL.CPP. Класс VmArray в VSEARCH.CPP должен иметь функцию binSearch, которая проводит двоичный поиск в элементах сортированного массива. Добавьте цикл в конец функции main для поиска в массиве arr, используя неупорядоченные данные инициализирующего списка. (Элементы этого списка доступны при использовании данных-указателей.)
В условиях становления рыночных отношений особую актуальность и остроту приобретают вопросы стандартизации и сертификации товаров как составляющие конкурентоспособности и экономической безопасности страны. В связи с этим они введены в учебные планы и изучаются студентами специальности «Товароведение и экспертиза товаров» специализаций «Товароведение и экспертиза непродовольственных товаров», «Товароведение и экспертиза продовольственных товаров» отдельной дисциплиной «Основы стандартизации и сертификации», студентами специальности «Финансы и кредит» специализации «Налоги и налогообложение», специальности «Экономика и управление на предприятии» специализации «Экономика и управление на предприятии промышленности» как дисциплина «Стандартизация, сертификация и управление качеством в производстве». В качестве отдельных тем она изучается студентами специальности «Маркетинг», специальности «Экономика и управление на предприятии» специализаций «Экономика и управление на предприятии потребительской кооперации», «Экономика и правовое обеспечение хозяйственной деятельности», «Экономическая информатика», «Экономика и управление на предприятии агропромышленного комплекса». В связи с этим актуальность и значимость представленного курса несомненна.
Основная цель курса - получение и использование теоретических знаний в практической деятельности специалистов товароведно-экономического профиля в области стандартизации, технического нормирования, оценки соответствия, декларирования и сертификации продукции.
Структура курса включает изучение вопросов стандартизации и сертификации, частично затрагиваются аспекты качества, что является необходимым и успешным условием эффективной работы будущих специалистов по оценке, анализу конкурентоспособности товаров и субъектов хозяйствования, обоснованию результативных стратегий их развития.
Центральное место в курсе занимают система стандартизации и технического нормирования в Республике Беларусь и Национальная система оценки соответствия в условиях рыночной экономики, которые применяются на принципах корреляции практически во всех областях научной и практической деятельности. Особое внимание уделено влиянию современной экономической ситуации на организацию работ в обозначенных областях на различных уровнях управления.