Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 4 697

/ вопрос открыт /

Приветствую, уважаемые эксперты! проблема возникла, задали сделать прогу по теме текстовые файлы. до этого работал только с целыми числами в файлах. теперь надо с символами. буду очень благодарен за любую помощь!

Приложение:
  1.  
  2.  


Дементьев Евгений Владимирович Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: Дементьев Евгений Владимирович (статус: Посетитель)
Вопрос отправлен: 2 ноября 2010, 18:55
Состояние вопроса: открыт, ответов: 1.

Ответ #1. Отвечает эксперт: Егор

Здравствуйте, Дементьев Евгений Владимирович!
Самый простой способ - открыть два файла: один на чтение, другой - на запись. А затем посимвольно читаем из первого файла и пишем во второй.

var
  fin, fout : file of char;
  c, s : char;
 
begin
  s := ' ';
  assign(fin, 'input.txt');
  assign(fout, 'output.txt');
  reset(fin);
  rewrite(fout);
  while not eof(fin) do
  begin
    read(fin, c);
    write(fout, c);
    if c=',' then write(fout, s);
  end;
  close(fin);
  close(fout);
end.

Ответ отправил: Егор (статус: 10-ый класс)
Время отправки: 2 ноября 2010, 19:23
Оценка за ответ: 5

Комментарий к оценке: спасибо большое) теперь разобрался)

Мини-форум вопроса

Всего сообщений: 3; последнее сообщение — 2 ноября 2010, 19:42; участников в обсуждении: 2.
Егор

Егор (статус: 10-ый класс), 2 ноября 2010, 19:28 [#1]:

странно, но запись вида
write(fout, ' ');
не пошла

Цитата:

Error 20: Variable identifier expected.

пришлось делать через дополнительную переменную
var
  s : char;
...
  s := ' ';
...
  ...write(fout, s);
Или я уже окончательно забыл паскаль?
Опасайтесь багов в приведенном выше коде; я только доказал корректность, но не запускал его.
— Donald E. Knuth.
Мережников Андрей

Мережников Андрей (статус: Абитуриент), 2 ноября 2010, 19:40 [#2]:

гораздо быстрее получится, если объявить fin,fout как текстовые файлы. Читать и писать не посимвольно, а построчно. После чтения строки все символы ',' в ней заменить на сочетание ', ' и полученную строку записать в файл.
Егор

Егор (статус: 10-ый класс), 2 ноября 2010, 19:42 [#3]:

согласен, быстрее. но чуть сложнее. :)
Опасайтесь багов в приведенном выше коде; я только доказал корректность, но не запускал его.
— Donald E. Knuth.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:54
Выполнено за 0.03 сек.