Лекции (опорный конспект)
.pdf10.3.Библиотека conio.h (2)
1)puts("Выберите необходимое действие:"); puts(" 1 - Решить линейное уравнение");
puts(" 2 - Решить квадратное уравнение"); puts(" 3 - Решить систему линейных уравнений"); puts(" ESC - Выход");
while (true)
{
int decision = getch();
switch (decision) |
2) |
|
{ |
||
case '1': |
|
|
solve1(); |
|
|
break; |
|
|
case '2': |
3) |
|
solve2(); |
||
|
||
break; |
|
|
case '3': |
|
|
solve3(); |
|
|
break; |
|
|
case 27: |
|
|
return; |
|
|
} |
|
}
121
11.Файловый ввод-вывод
11.1.Файловые потоки
• Работа с файлами осуществляется через |
• Файлы: |
||
|
специальный потоковый указатель (FILE*) |
– |
Текстовые |
• |
Функция fopen открывает файловый поток |
|
файлы |
• |
Функция fclose закрывает файловый поток |
– |
Двоичные файлы |
r |
Чтение |
|
|
w |
Запись в новый файл |
|
|
a |
Добавление данных в файл |
|
|
122
11.2.Ввод-вывод символов и строк (1)
•fputc – запись символа в файл
•fgetc – чтение символа из файла
•fputs – запись строки в файл
•fgets – чтение строки из файла
•fscanf – форматированный ввод из файла
•fprintf – форматированный вывод в файл
•feof – проверка достижения конца файла
123
11.2. Ввод-вывод символов и строк (2)
1) |
|
2) |
|
|
|
|
|
|
|
|
|
3)
124
11.2.Ввод-вывод символов и строк (3)
4)struct FIO
{
char name[25];
char patronymic[25]; char surname[25];
short age; } A[3];
strcpy(A[0].name, "Иван"); strcpy(A[0]. patronymic, "Иванович") ; strcpy(A[0].surname, "Иванов"); A[0].age = 25;
strcpy(A[1].name, "Петр"); strcpy(A[1].patronymic, "Петрович"); strcpy(A[1].surname, "Петров"); A[1].age = 32;
strcpy(A[2].name, "Андрей"); strcpy(A[2].patronymic, "Андреевич"); strcpy(A[2].surname, "Андреев"); A[2].age = 41;
125
11.2.Ввод-вывод символов и строк (4)
5)
126
11.3. Ввод-вывод двоичных данных (1)
• fread – чтение данных из потока |
• fwrite – запись данных в поток |
1) struct FIO
{ |
|
char |
name[25]; |
char |
patronymic[25]; |
char |
surname[25]; |
short |
age; |
} A[3]; |
|
strcpy(A[0].name, "Иван"); strcpy(A[0].patronymic, "Иванович"); strcpy(A[0].surname, "Иванов"); A[0].age = 25;
strcpy(A[1].name, "Петр"); strcpy(A[1].patronymic, "Петрович"); strcpy(A[1].surname, "Петров"); A[1].age = 32;
127
11.3.Ввод-вывод двоичных данных (2)
2)
128
11.4.Позиционирование (1)
•ftell – узнать позицию текущей записи в файле
•fseek – перейти на заданную позицию в файле
•rewind – перейти к началу файла
SEEK_SET (=0) – начало файла
SEEK_CUR (=1) – текущая позиция в файле
SEEK_END (=2) – конец файла
129
11.4. Позиционирование (2)
1)
130