Форум программистов, компьютерный форум, киберфорум
Наши страницы
Free Pascal
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
ujif
24 / 19 / 13
Регистрация: 08.12.2012
Сообщений: 597
1

Ошибка при чтении данных из текстового файла

02.04.2014, 12:09. Просмотров 950. Ответов 5
Метки нет (Все метки)

В текстовом файле записана строка со след. данными
Hello 32 32.5
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
   var f:text;
    s : string; c : char;
    i : integer; r : real;
begin 
  assign(f,'proba.txt');
       {$I-}
      reset(f);
    if IOResult<>0 then exit
     else begin
    while not eof(f) do begin
     read(f,s);
     read(f,i);
     read(f,c);
     read(f,r);
     writeln(s,i,c,r);
     readln(f);
    end;// while
   end;//if else
   close(f);
end.
возникает ошибка времени выполнения
можно ли читать текстовый файл во free pascal
таким образом ,если можно тогда чего я упустил..
или остается считывать только сразу целой строкой readln(f,s);writeln(s);
или посимвольно read(f,c);write(c);=сие известно
а потом разбираться что почем
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.04.2014, 12:09
Ответы с готовыми решениями:

ошибка при чтении файла
Создать файл F целого типа. Получить два файла: F1, F2. В файл F1...

Ошибка при чтении файла
Задача всем известная (на форуме уже 5 раз) но сделать надо с файлом: При...

Последний элемент при чтении из файла построчно всегда 0, почему ?
Здравствуйте, подскажите, почему при чтении из файла у меня все время 0...

Чтение данных из текстового файла
Считываение данные из текстового файла: типы считываемых данных; команды для...

Чтение данных из текстового файла в массивы
ребята как считать с файла текст если в нём записано в столбик фамилии и 4...

5
volvo
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
26327 / 17659 / 6996
Регистрация: 22.10.2011
Сообщений: 31,072
Записей в блоге: 6
02.04.2014, 12:12 2
Лучший ответ Сообщение было отмечено ujif как решение

Решение

Цитата Сообщение от ujif Посмотреть сообщение
возникает ошибка времени выполнения
Ничего не возникает. Нормально читается файл. Какая именно ошибка у тебя? Не 2-я, часом?

А вот если после Reset вернуть {$i+} то тогда будет ошибка. Потому что read(f, s) читает всю строку сразу из файла, не включая символ "перевод строки", и при попытке считывания вещественного числа программа вылетит. Либо читать строку и потом ее парсить (по разделителю, в твоем случае - пробелу), либо читать строку фиксированной длины, но тогда надо знать, какой именно она длины.
1
ujif
24 / 19 / 13
Регистрация: 08.12.2012
Сообщений: 597
02.04.2014, 12:15  [ТС] 3
получается считать инфу еще таким образом
Pascal
1
2
 var s : string[6];//cчитывает целиком слово Hello и следующий за ним пробел
  // далее все как в проге выше
Добавлено через 1 минуту
вылазит ошибка Run Time Error 4213891
Error address $00000000
и ничего не читается
0
volvo
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
26327 / 17659 / 6996
Регистрация: 22.10.2011
Сообщений: 31,072
Записей в блоге: 6
02.04.2014, 12:23 4
Лучший ответ Сообщение было отмечено ujif как решение

Решение

Цитата Сообщение от ujif Посмотреть сообщение
вылазит ошибка Run Time Error 4213891
Опять не верю:
1
Миниатюры
Ошибка при чтении данных из текстового файла  
ujif
24 / 19 / 13
Регистрация: 08.12.2012
Сообщений: 597
02.04.2014, 12:31  [ТС] 5
именно когда s : string[6] тогда все норм.как и у Вас
Уважаемый модератор на фото экрана редактора
ошибка возникает когда s : string; длина строки не указана
0
volvo
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
26327 / 17659 / 6996
Регистрация: 22.10.2011
Сообщений: 31,072
Записей в блоге: 6
02.04.2014, 12:37 6
Я объяснил, почему это происходит, в первом же своем ответе. Перечитай его
1
02.04.2014, 12:37
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.04.2014, 12:37

Использование текстового файла как базу данных
В общем, написал программу, выводящую в зависимости от дня и введённого...

Чтение и запись данных из текстового файла в массив
задача заключается в том, что надо с текстового файла считать данные( фио....

как после вывода данных из текстового файла вернуться к выводу с клавиатуры
как после вывода данных из текстового файла вернуться к выводу с клавиатуры...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru