- •Алгоритмитизация и программирование Лекция 1
- •Общие сведения
- •Модель osi. Понятие об интерфейсах и протоколах. Рекомендация itu-t X.200
- •1.3. Системы счисления
- •Лекция 2
- •2.1. Способы описания алгоритмов функционирования узла коммутации
- •2.2. Описание алгоритмов с помощью диаграммы состояний
- •Variable
- •Input port
- •Input signal
- •2.3. Описание алгоритмов с помощью временной диаграммы
- •Описание алгоритмов с помощью текстового описания
- •Лекция 3
- •3.2. Типы данных
- •3.3. Арифметические операторы
- •3.4. Операторы сравнения
- •3.5. Побитовые операторы
- •3.6. Кодовые таблицы
- •Int main()
- •Лекция 4
- •4.2. Переменные
- •4.3. Ввод/вывод
- •4.4. Арифметические операции
- •4.5. Взаимосвязь чисел и литер
- •Лекция 5
- •5.1. Базовые конструкции
- •5.2. Операторы базовых конструкций
- •If (условие) {операторы 1}
- •Лекция 6
- •6.1. Указатели
- •6.2. Функции
- •6.3. Массивы
- •Лекция 7
- •7.1. Создание и инициализация строк
- •7.2. Функции для работы со строками
- •Лекция 8
- •8.1. Структуры
- •8.2. Формирование контрольной суммы
- •Лекция 9
- •9.1. Операции с файлами
- •9.2. Открытие текстового файла для записи
- •9.3. Открытие текстового файла для чтения
9.3. Открытие текстового файла для чтения
Для открытия файла для чтения используются переменнаяfstream file1; оператор<переменная_потока>.open(путь_к_файлу, режим);
Для закрытия файла используется оператор <переменная_потока>.close();
Пример: открытие файла для чтения строчных переменных.
#include <iostream> //библиотека ввода/вывода
#include <windows.h> //установка команд операционной системы
#include <cstdio> //для функции gets()
#include <fstream> //потоки ввода/вывода в файлы;
using namespace std;
int main()
{
char string[80];
fstream file;
file.open("D:\\SOURCE\\qwerty.txt", fstream::in);
int size(0); //int size=0;
while(!file.eof()) //определение длины текста
{
file.get(string[size]);
size++;
}
for(int i=0; i<size; i++) //чтение текста
{cout<<string[i];}
file.close();
cout<<"\r";
int y1=string[3]; cout<<"char y1="<<y1<<endl;
int y2=string[31]; cout<<"char y2="<<y2<<endl;
y1=y1-48; y2=y2-48;
cout<<"y1+y2="<<y1+y2;
return 0;
}
При открытии строчного файла предыдущего примера получим следующее заполнение массива string (рис. 9.1):
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
y |
1 |
= |
3 |
|
- |
|
п |
е |
р |
в |
а |
я |
|
ц |
и |
ф |
р |
а |
|
з |
а |
ч |
е |
т |
к |
и |
CR |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
y |
2 |
= |
7 |
|
- |
|
в |
т |
о |
р |
а |
я |
|
ц |
и |
ф |
р |
а |
|
з |
а |
ч |
е |
т |
к |
и |
CR |
Рис.
9.1. Заполнение массива
Теперь, чтобы получить численное значение численной переменной y1 следует код цифры перевести в число: int y1=string[3]; y1=y1-48;
Задание. Выполнить лабораторную работу 9 (Операции с файлами).