Символьный файл содержит пробелы. Сжать этот файл (убрать пробелы) - Pascal
Формулировка задачи:
Символьный файл содержит пробелы. Сжать этот файл (убрать пробелы). В текстовом файле, написать текст и из него убрать пробелы. Как привязать файл, и как пробелы удалить, через какую команду?
Решение задачи: «Символьный файл содержит пробелы. Сжать этот файл (убрать пробелы)»
textual
Листинг программы
var n, k: longword; f: file of char; c: char; begin assign(f, 'text.txt'); reset(f); n := 0; for k := 0 to filesize(f) - 1 do begin seek(f, k); read(f, c); if c <> ' ' then begin seek(f, n); write(f, c); inc(n) end end; seek(f, n); truncate(f); close(f) end.
Объяснение кода листинга программы
- Объявляются переменные:
n
иk
типа longword для хранения числовых значенийf
типа file of char для работы с файломc
типа char для хранения символов из файла
- Происходит присвоение файла
text.txt
переменнойf
с помощью процедуры assign. - Выполняется открытие файла для чтения с помощью процедуры reset.
- Переменной
n
присваивается значение 0. - Выполняется цикл от 0 до размера файла минус 1 (filesize(f) - 1).
- В теле цикла:
- Устанавливается позиция чтения в файле на позицию
k
с помощью процедуры seek. - Символ из файла считывается в переменную
c
с помощью процедуры read. - Проверяется, не равен ли считанный символ пробелу.
- Если символ не равен пробелу, то:
- Устанавливается позиция записи в файле на позицию
n
с помощью процедуры seek. - Записывается символ
c
в файл с помощью процедуры write. - Увеличивается значение переменной
n
на 1 с помощью функции inc.
- Устанавливается позиция чтения в файле на позицию
- Устанавливается позиция записи в файле на позицию
n
с помощью процедуры seek. - Обрезается файл до позиции
n
с помощью процедуры truncate. - Закрывается файл с помощью процедуры close.
Код выполняет удаление пробелов из символьного файла
text.txt
, сжимая его содержимое.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д