1 / 1 / 2
Регистрация: 20.05.2014
Сообщений: 10
1

Запись текста в файл, чтение текста из файла, перепись текста из одного файла в другой файл

10.06.2014, 15:42. Показов 3584. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Составить программу, в которой
организованы следующие действия:
  • запись текста в файл, чтение текста из
  • файла, перепись текста из одного файла
  • в другой файл.
Эти действия оформить в подпрограммах.
Обеспечить пользователю
возможность выбирать нужную ему
подпрограмму через интерфейс
управления(саse)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.06.2014, 15:42
Ответы с готовыми решениями:

Из одного файла переместить текст в другой файл с заменой текста на другой
Помогите нужно сделать вот такую вещь заготовка есть но не могу осмыслит как сделать вот это: ...

Считывание текста с файла, кодирование, запись в другой файл
Помогите написать прогу которая считывает текст с файла(ну к примеру a.in), кодирует его в другой...

Чтение текста из файла, удаление каждой второй строки (\n), запись в файл
Дана строка у текстовом файле input.txt: Teachers TV's resources Have generated views Teachers...

Кодирование текста с одного файла и запись в другой
Здравствуйте!... Написал программу, которая должна брать текст в документе "1.txt", кодировать его...

10
Модератор
Эксперт Python
1352 / 649 / 207
Регистрация: 23.03.2014
Сообщений: 3,053
14.07.2014, 22:44 2
Написл так
Pascal
1
2
3
4
5
6
7
8
9
program osn;
uses my;
begin
assign(fp,'f:\files\cost\free\fail.txt');
assign (fp1,'f:\files\cost\free\failik.txt');
input(fp,s);
watch(fp);
nov(fp, fp1,s);
end.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
unit my;
interface
type fal=text;
type far= array[2..200] of string;
var fp,fp1:fal;
var s:string;
var j:integer;
var x:far;
var i:integer;
procedure input(var fp:fal;var s:string );
procedure watch(var fp:fal);
procedure nov(var fp,fp1:fal; var s:string);
implementation
procedure input(var fp:fal; var s:string );
begin
rewrite(fp);
writeln('ўўҐ¤ЁвҐ бва®Єг  ');
read(s);
writeln(fp,s);
close(fp);
end;
procedure watch(var fp:fal);
begin
reset(fp);
J:=1;
while not eof(fp)do begin
read(fp,s);
write(s);
end;
j:=j+1;
close(fp);
end;
procedure nov(var fp, fp1:fal; var s:string);
begin
rewrite(fp1);
reset(fp);
repeat
read(fp,s);
writeln(fp1,s);
until eof(fp);
close(fp);
close(fp1);
writeln('записал');
end;
end.
писал на free pascal.
В части переписать из файла в файл не работает, ищу ошибку, но больше чем нечего.
Товарищи с опытом, очень вас прошу помочь.
Останется замкнуть это на case (попробую сам ), собственно помощь нужна с процедурой nov(найти и указать где в ней ошибка).
Программа не завершается.
Спасибо.
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
7520 / 4384 / 2781
Регистрация: 22.11.2013
Сообщений: 12,546
Записей в блоге: 1
15.07.2014, 11:36 3
Pascal
1
2
3
4
5
6
7
8
9
procedure nov(var fp, fp1:fal; var s:string);
begin
  Rewrite(fp1); Reset(fp);
  while not EOF(fp) do begin
    ReadLn(fp,s); WriteLn(fp1,s);
  end;
  Close(fp); Close(fp1);
  WriteLn('записал');
end;
1
Модератор
Эксперт Python
1352 / 649 / 207
Регистрация: 23.03.2014
Сообщений: 3,053
15.07.2014, 12:44 4
Попробовал этот способ.
Коипелтруется, но не завершается, и не создает файл в который нужно переписывать.
Если честно, я начал примерно с такого пришел к результату зависания программы.
Именно поэтому попросил помощи.
среда free pascal
Pascal
1
2
3
4
5
6
7
8
9
10
11
procedure nov(var fp, fp1:fal; var s:string);
begin
 Rewrite(fp1); Reset(fp);
 i:=1;
  while not EOF(fp) do begin
  ReadLn(fp,s); WriteLn(fp1,s);
  I:=i+1;
 end;
 Close(fp); Close(fp1);
 WriteLn('записал');
end;
Правил abc.net
Результат: программа зависает.
Ищу причину
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
7520 / 4384 / 2781
Регистрация: 22.11.2013
Сообщений: 12,546
Записей в блоге: 1
15.07.2014, 13:00 5
Давайте попробуем так и посмотрим на вывод:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
procedure nov(var fp, fp1:fal);
var
  s: String;
  i: Integer;
begin
  {$I-}
  Rewrite(fp1);
  if IOResult<>0 then begin
    WriteLn('*** Ошибка создания выходного файла.');
    exit;
  end;
  Reset(fp);
  if IOResult<>0 then begin
    WriteLn('*** Ошибка открытия входного файла.');
    Close(fp1); exit;
  end;
  {$I+}
  i:=0;
  while not EOF(fp) do begin
    ReadLn(fp,s); WriteLn(fp1,s);
    inc(i); Write(' ',i);
  end;
  Close(fp); Close(fp1);
  WriteLn('записал');
end;
0
Модератор
Эксперт Python
1352 / 649 / 207
Регистрация: 23.03.2014
Сообщений: 3,053
15.07.2014, 13:03 6
Причем, зависает не зависимо от наличия переменной I.
В чем может быть причина?
Подскажите любопытному, пожалуйста

Добавлено через 2 минуты
я за
0
Эксперт Pascal/Delphi
6804 / 4563 / 4817
Регистрация: 05.06.2014
Сообщений: 22,438
15.07.2014, 13:05 7
Работает
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
unit my;
 
interface
 
type
  fal = text;
 
type
  far = array[2..200] of string;
 
var
  fp, fp1: fal;
 
var
  s: string;
 
var
  j: integer;
 
var
  x: far;
 
var
  i: integer;
 
procedure input(var fp: fal; var s: string );
procedure watch(var fp: fal);
procedure nov(var fp, fp1: fal; var s: string);
implementation
 
procedure input(var fp: fal; var s: string );
begin
  rewrite(fp);
  writeln('ўў?¤Ёв? бваRЄг  ');
  readln(s);
  writeln(fp, s);
  close(fp);
end;
 
procedure watch(var fp: fal);
begin
  reset(fp);
  J := 1;
  while not eof(fp) do 
  begin
    readln(fp, s);
    writeln(s);
  end;
  j := j + 1;
  close(fp);
end;
 
procedure nov(var fp, fp1: fal; var s: string);
begin
  rewrite(fp1);
  reset(fp);
  while not eof(fp) do
  begin
    readln(fp, s);
    writeln(fp1, s);
  end;
  close(fp);
  close(fp1);
  writeln('записал');
end;
end.
1
Модератор
Эксперт Python
1352 / 649 / 207
Регистрация: 23.03.2014
Сообщений: 3,053
15.07.2014, 13:12 8
ПРоверил, зависает
0
Эксперт Pascal/Delphi
6804 / 4563 / 4817
Регистрация: 05.06.2014
Сообщений: 22,438
15.07.2014, 13:20 9
Проверил, работает.
У вас проблема скорее всего здесь:

Pascal
1
assign (fp1,'f:\files\cost\free\failik.txt');
Последуйте совету bormant'a, проблема где-то на вашей машине.
Миниатюры
Запись текста в файл, чтение текста из файла, перепись текста из одного файла в другой файл  
1
Модератор
Эксперт Python
1352 / 649 / 207
Регистрация: 23.03.2014
Сообщений: 3,053
15.07.2014, 16:08 10
Всем спасибо, ушел решать проблему.

Добавлено через 12 минут
Ура! Заработало!
Ушел доводить до ума.

Добавлено через 2 часа 1 минуту
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
program osn;
//uses my;
var q:integer;
type fal = text;
type far = array[1..200] of string;
var  fp, fp1: fal;
var s: string;
var j: integer;
var x: far;
var i: integer;
procedure input(var fp: fal; var s: string );
begin
 rewrite(fp);
 writeln('enter the string*');
 readln(s);
 writeln(fp, s);
 close(fp);
end;
procedure watch(var fp: fal);
begin
 reset(fp);
 J := 1;
 while not eof(fp) do
  begin
   readln(fp, s);
 writeln(s);
 end;
 j := j + 1;
 close(fp);
end;
procedure nov(var fp, fp1: fal; var s: string);
begin
 rewrite(fp1);
 reset(fp);
 while not eof(fp) do
 begin
  readln(fp, s);
 writeln(fp1, s);
 end;
 close(fp);
 close(fp1);
 writeln('data in file');
 readln;
end;
begin
assign(fp,'f:\files\cost\free\fail.txt');
assign (fp1,'f:\files\cost\free\failik.txt');
writeln('enter  a number from 1 to 3  to choose subprogram');
writeln('if 1 then ente a string in file' );
writeln('if 2 then show a tsring ');
writeln('if 3 then rewrite file in the other');
read(q);
case q of
 1: input(fp,s);
 2: watch(fp);
 3:nov(fp, fp1,s);
end;{case}
end.
Насколько я понимаю все это чужо в целом плаеировалось вот так(без модулей).
К моему сожалению, довести до ума не получилось, хотя пытался, может я что-то упускаю,
Товарищи сопытом, помогите, пожалуйста, найти ошибку.

Добавлено через 2 минуты
Вероятней всего, она в организации case, так как до введения оператора варианта все работало как по нотам, но не уверен.

Добавлено через 5 минут
В любом случае, всем спасибо
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
7520 / 4384 / 2781
Регистрация: 22.11.2013
Сообщений: 12,546
Записей в блоге: 1
16.07.2014, 11:17 11
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
const
  f1n: string = 'f:\files\cost\free\file1.txt';
  f2n: string = 'f:\files\cost\free\file2.txt';
  eCreate: string = '*** Ошибка: не удалось создать файл ';
  eOpen: string = '*** Ошибка: не удалось открыть файл ';
var
  q: char;
  s: string;
  f1, f2: text;
procedure WriteF;
begin
  {$I-}
  Rewrite(f1);
  if IOResult <> 0 then begin
    WriteLn(eCreate, f1n);
    exit;
  end;
  {$I+}
  WriteLn('Введите текст. Завершение ввода - пустая строка.');
  repeat
    ReadLn(s);
    if s='' then Break;
    WriteLn(f1, s);
  until false;
  Close(f1);
end;
procedure ShowF;
begin
  {$I-}
  Reset(f1);
  if IOResult <> 0 then begin
    WriteLn(eOpen, f1n);
    exit;
  end;
  {$I+}
  WriteLn('Содержимое файла ', f1n);
  while not EOF(f1) do begin
    ReadLn(f1, s); WriteLn(s);
  end;
  Close(f1);
end;
procedure CopyF;
begin
  {$I-}
  Reset(f1);
  if IOResult <> 0 then begin
    WriteLn(eOpen, f1n);
    exit;
  end;
  Rewrite(f2);
  if IOResult <> 0 then begin
    WriteLn(eCreate, f2n);
    Close(f1);
    exit;
  end;
  {$I+}
  while not EOF(f1) do begin
    ReadLn(f1, s); WriteLn(f2, s);
  end;
  Close(f1); Close(f2);
end;
begin
  Assign(f1, f1n);
  Assign(f2, f2n);
  repeat
    WriteLn;
    WriteLn('1 - Запись файла');
    WriteLn('2 - Показ файла');
    WriteLn('3 - Копирование файла');
    WriteLn('0 - Выход');
    Write('Ваш выбор: '); ReadLn(q);
    case q of
    '0': ;
    '1': WriteF;
    '2': ShowF;
    '3': CopyF;
    else
      WriteLn('*** Ошибка: неправильный выбор.');
    end;
  until q='0';
end.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.07.2014, 11:17
Помогаю со студенческими работами здесь

Чтение из одного файла и запись в другой файл winAPI c++
Всем привет уже битый час туплю. Короче нужно переписать всю информацию из одного файла в другой(не...

Как сделать вывод зашифрованного текста в один файл и расшифрованного текста в другой файл?
Нужно вывести текст зашифрованного сообщения в один файл и расшифрованное сообщение во второй файл...

Чтение N-ной строки из одного файла и её запись в другой файл
Добрый день/вечер Столкнулся с такой проблемой: Требуется прочитать определенную строку в...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru