
- •1 Директиви препроцесора. Багатомодульне програмування
- •1.1 Мета роботи
- •1.2 Вказівки щодо організації самостійної роботи студентів
- •1.7 Контрольний приклад
- •2.1 Мета роботи
- •2.2 Вказівки щодо організації самостійної роботи студентів
- •2.3 Порядок виконання роботи
- •2.4 Контрольні запитання та завдання
- •2.5 Завдання
- •2.6 Варіанти завдань
- •2.7 Контрольний приклад
- •3 Файлові потоки мови с
- •3.1 Мета роботи
- •3.2 Вказівки щодо організації самостійної роботи студентів
- •Ввод и вывод символов
- •Ввод и вывод строк
- •Ввод и вывод записей
- •Управление указателем файла
- •Состояние потока
- •Форматированный вывод
- •Форматированный ввод
- •Другие функции форматного ввода и вывода
- •Примеры
- •3.3 Порядок виконання роботи
- •3.4 Контрольні запитання та завдання
- •3.5 Завдання
- •3.6 Варіанти завдань
- •3.7 Контрольний приклад
- •4 Перегрузка операцій
- •4.1 Мета роботи
- •4.2 Вказівки щодо організації самостійної роботи студентів
- •5.1 Мета роботи
- •5.2 Вказівки щодо організації самостійної роботи студентів Классы и объекты
- •Инкапсуляция
- •Конструктор
- •Деструктор
- •Указатели на объекты
- •Операции new и delete
- •5.3 Порядок виконання роботи
- •5.4 Контрольні запитання та завдання
- •5.5 Завдання
- •5.6 Варіанти завдань
- •5.7 Контрольний приклад
- •Уровни доступа
- •Виртуальные функции
- •Механизм работы виртуальных функций
- •Полиморфизм
- •Множественное наследование
- •6.7 Контрольний приклад
- •Рекомендована література
- •61166 Харків, просп. Леніна, 14.
Другие функции форматного ввода и вывода
Ниже перечислены другие функции форматного вывода с указанием заголовочного файла и выходного потока.
cprintf |
CONIO.H |
Консоль |
fprintf |
STDIO.H |
Поток |
printf |
STDIO.H |
stdout |
sprintf |
STDIO.H |
Строка |
То же для форматного ввода.
cscanf |
CONIO.H |
Консоль |
fscanf |
STDIO.H |
Поток |
scanf |
STDIO.H |
stdin |
sscanf |
STDIO.H |
Строка |
Примеры
Пример. Вводить строки с клавиатуры и сохранять их в текстовом файле.
char buf[100];
FILE *F;
F = fopen("111.txt", "w");
for (;;) {
gets(buf);
if (strlen(buf) > 40)
break;
fputs(buf, F);
fputs("\n", F);
}
fclose(F);
Замечания. Функция gets вводит строки из стандартного входного потока stdin. При вводе с клавиатуры символ '\n' не попадает в строку. Если вводить при помощи функции
fgets(buf, 100, F), то специального вывода fputs("\n", F) не понадобится.
Пример. Имеется текстовый файл. Напечать его самую длинную строку.
char buf[100], maxbuf[100];
FILE *F;
maxbuf[0] = 0;
F = fopen("111.txt", "r");
while (!feof(F)) {
fgets(buf, 100, F);
if (strlen(buf) > strlen(maxbuf) )
strcpy(maxbuf, buf);
}
fclose(F);
fputs(maxbuf, stdout);
Замечания. Вывод строки в поток stdout можно выполнить функцией
puts(maxbuf);
Пример. Вводить целые числа с клавиатуры и сохранять их в двоичном файле.
int buf;
FILE *F;
F = fopen("111.dat", "w");
for (;;) {
scanf("%d", &buf);
if (!buf)
break;
fwrite(&buf, sizeof(int), 1, F);
}
fclose(F);
Замечания. Для ввода целых чисел из входного потока необходимо использовать только форматный ввод (scanf или fscanf.).
Полученный файл не является текстовым и может быть правильно прочитан только функцией fread.
3.3 Порядок виконання роботи
3.4 Контрольні запитання та завдання
На какие группы можно разделить библиотечные функции ввода-вывода?
Что такое поток?
Можно ли открыть поток, не открывая файла?
Как открыть поток в двоичном режиме?
Что возвращает функция fopen?
Какая функция выводит символ в стандартный выводной поток?
Какие функции читают и записывают строку в поток?
Как установить указатель на конец потока, открытого для чтения?
Как проверить, достиг ли указатель потока конца файла?
Как проверить, нет ли ошибки при работе с потоком?
Можно ли сбросить индикатор ошибки, не закрывая потока?
Какая функция выполняет форматированный вывод в поток?
Чем отличается функция printf от функции fprintf?
Что такое поле ввода для функции fscanf?
Как устроена строка формата функции fscanf?
3.5 Завдання
Выполнить варианты заданий лабораторной работы при условии что исходные данные хранятся в текстовом файле и первые числа соответствуют указывают размер массива. Необходимо считать исходные данные вывести их на экран и в файл.
Исходные данные необходимо записать также в бинарный файл. Результаты обработки исходных данных необходимо сохранить в текстовый, бинарный файл, а также вывести на экран в удобном для пользователя виде.