мета-данные страницы
Загрузка не удалась. Возможно, проблемы с правами доступа?
Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
pascal:files [20/11/2009 13:13] – dnaumov | pascal:files [06/02/2018 10:56] (текущий) – [Замена стандартного ввода / вывода] oca | ||
---|---|---|---|
Строка 6: | Строка 6: | ||
- замена стандартного ввода / вывода. | - замена стандартного ввода / вывода. | ||
- | Файл можно использовать либо ТОЛЬКО для чтения, | + | Файл можно использовать либо |
- | <code pascal|Считывание из файла> | + | <note important> |
+ | </ | ||
+ | |||
+ | ===== Явное указание имени файла, как переменной ===== | ||
+ | |||
+ | <code pascal|Запись в файл> | ||
var | var | ||
- | | + | |
a, b, c: integer; | a, b, c: integer; | ||
+ | s : string; | ||
+ | f, h, p : real; | ||
begin | begin | ||
assign(fout,' | assign(fout,' | ||
- | | + | |
- | | + | a: |
+ | s: | ||
+ | f:=1.2345; h:=-1.2345; p:=0.0; | ||
- | close(fout) {закрываем файл} | + | |
+ | writeln(fout, | ||
+ | writeln(fout, | ||
+ | |||
+ | | ||
end. | end. | ||
</ | </ | ||
- | <code pascal|Запись в файл> | + | После исполнения программы на диске, в той же папке где и программа появится файл с именем **example.txt** следущего содержания: |
+ | |||
+ | < | ||
+ | Пример текста | ||
+ | | ||
+ | | ||
+ | </ | ||
+ | |||
+ | <code pascal|Считывание из файла> | ||
var | var | ||
- | | + | |
- | a, b, c: integer; | + | a, b, c : integer; |
+ | s : string; | ||
+ | f, h, p : real; | ||
begin | begin | ||
- | assign(fout,' | + | assign(fin,' |
- | reset(fout); {открываем файл на считывание с начала файла} | + | reset(fin); {открываем файл на считывание с начала файла} |
- | readln(fout,a,b,c); {считывем три | + | readln(fin, |
+ | readln(fin,a,b,c); {считываем три | ||
+ | readln(fin, | ||
- | close(fout) {закрываем файл} | + | close(fin) {закрываем файл} |
end. | end. | ||
</ | </ | ||
+ | |||
+ | |||
+ | ===== Замена стандартного ввода / вывода ===== | ||
+ | |||
+ | <code pascal|Считывание из файла> | ||
+ | var | ||
+ | a, b, c : integer; | ||
+ | s : string; | ||
+ | f, h, p : real; | ||
+ | |||
+ | begin | ||
+ | assign(input,' | ||
+ | reset(input); | ||
+ | |||
+ | readln(s); | ||
+ | readln(a, | ||
+ | readln(f, | ||
+ | |||
+ | close(input) {закрываем считывание из файла} | ||
+ | end. | ||
+ | </ | ||
+ | |||
<code pascal|Запись в файл> | <code pascal|Запись в файл> | ||
var | var | ||
- | | + | |
- | a: real; | + | |
begin | begin | ||
- | | + | |
- | | + | |
+ | |||
+ | a: | ||
+ | s: | ||
+ | f:=1.2345; h:=-1.2345; p:=0.0; | ||
+ | |||
+ | writeln(s); | ||
+ | writeln(a: | ||
+ | writeln(f: | ||
+ | |||
+ | close(output) {обязательно закрываем файл после завершения работы с ним} | ||
end. | end. | ||
+ | |||
</ | </ | ||
+ | |||
+ | После исполнения программы на диске, в той же папке где и программа появится файл с именем **output.txt** следующего содержания: | ||
+ | |||
+ | < | ||
+ | Пример текста | ||
+ | | ||
+ | | ||
+ | </ | ||
+ | |||
+ | Важно помнить, | ||
+ | |||
+ | ==== Разбор строки ==== | ||
+ | Пусть дан входной файл вида | ||
+ | < | ||
+ | 2 | ||
+ | fam name 5 | ||
+ | fam2 name2 4 | ||
+ | </ | ||
+ | |||
+ | Прочитаем из него данные, | ||
+ | |||
+ | <code pascal> | ||
+ | var | ||
+ | s:string; | ||
+ | c:char; | ||
+ | i:integer; | ||
+ | n : integer; | ||
+ | fname, name: | ||
+ | mark: | ||
+ | position : integer; | ||
+ | begin | ||
+ | assign(input,' | ||
+ | reset(input); | ||
+ | readln(n); | ||
+ | |||
+ | for i := 1 to n do | ||
+ | begin | ||
+ | readln(s); | ||
+ | //fname | ||
+ | position := pos(' ', s); | ||
+ | fname := copy(s, 1, position); | ||
+ | delete(s, | ||
+ | //name | ||
+ | position := pos(' ', s); | ||
+ | name := copy(s, 1, position); | ||
+ | delete(s, | ||
+ | //mark | ||
+ | val(s, mark); | ||
+ | writeln(' | ||
+ | end; | ||
+ | |||
+ | close(input); | ||
+ | |||
+ | end. | ||
+ | </ | ||
+ | |||
+ | В результате получим: | ||
+ | |||
+ | < | ||
+ | fname: fam name: name mark: 5 | ||
+ | fname: fam2 name: name2 mark: 4 | ||
+ | </ | ||
+ | |||
+ | ==== Процедуры и функции ==== | ||
+ | ^ Имя ^ Описание ^ | ||
+ | |<code pascal> | ||