| 
| 
 | Вопрос # 4 697/ вопрос открыт / | 
 |  Приветствую, уважаемые эксперты! проблема возникла, задали сделать прогу по теме текстовые файлы. до этого работал только с целыми числами в файлах. теперь надо с символами.  буду очень благодарен за любую помощь! Ответ #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.
 |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |