Технический форум

Технический форум (http://www.tehnari.ru/)
-   Delphi, Kylix and Pascal (http://www.tehnari.ru/f43/)
-   -   Pascal. Скопировать все строки текстового файла (http://www.tehnari.ru/f43/t91897/)

Bloodya 28.10.2013 19:43

Pascal. Скопировать все строки текстового файла
 
Скопировать все строки текстового файла F в текстовый файл G, добавляя после каждой строки число, равное ее длине (количество символов, включая пробелы).
вот что вышло,но программа видит только 1 строку,и работает до той степени пока ее не остоновишь.:tehnari_ru_837:
var
f, g: text;
str: string;
len: byte;
begin
Assign(f, 'in.txt');
Assign(g, 'out.txt');
Reset(f);
Rewrite(g);
while not eof(f) do
begin
raed(f, str);
len:=length(str);
Write(g, str);
WriteLn(g, len);
end;
Close(f);
Close(g);
end.

Vladimir_S 28.10.2013 20:26

Вложений: 2
Две ошибки и одна мелкая помарка.
1. Это что еще такое за "raed" (12-я строка)?!!!
2. Запомните: строки считываются ТОЛЬКО оператором "readln", никаких "read"!!!
3. Перед выводом длины строки желательно вставить пробел. Чтобы красиво было.
Итак, исправленная программа:
Код:

var
 f,g: text;
 str: string;
 len: byte;
begin
 Assign(f, 'in.txt');
 Assign(g, 'out.txt');
 Reset(f);
 Rewrite(g);
 while not eof(f) do
  begin
  readln(f, str);
  len:=length(str);
  Write(g, str);
  WriteLn(g, ' ',len);
  end;
 Close(f);
 Close(g);
end.

Теперь проверяем. Как говорил один герой Бертольда Брехта, "Шекспир! Только Шекспир!". Полагаю, монолог Марка Антония подойдёт.
Итак, файл "In" (фрагмент):
Вложение 157785
И, соответственно, файл "Out":
Вложение 157786


Часовой пояс GMT +4, время: 14:00.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.