• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Pascal. Скопировать все строки текстового файла

  • Автор темы Автор темы Bloodya
  • Дата начала Дата начала

Bloodya

Ученик
Регистрация
28 Окт 2013
Сообщения
2
Реакции
0
Баллы
0
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.
 
Две ошибки и одна мелкая помарка.
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" (фрагмент):
Sh_in.webp
И, соответственно, файл "Out":
Sh_out.webp
 
Назад
Сверху