IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
Closed Topic Открыть новую тему 
> Нетипизированные файлы, не пишет/читает
Master Yoda
сообщение 26.11.2006 13:20
Сообщение #1





Группа: Пользователи
Сообщений: 6
Пол: Мужской
Реальное имя: d

Репутация: -  0  +


Есть проблема

Я хочу записать в нетипизированный файл, например, сначала один integer, потом много чаров (а потом считать). Что делаю неправильно?



var
fin, fout:file;
...
Begin
...
assign(fout, fname);
rewrite(fout, 1);
...
blockwrite(fout, some_integer, sizeof(some_integer));
for i:=1 to n do blockwrite(fout, some_char[i], sizeof(some_char[i]);
close(fout);
...
assign(fin, fname);
reset(fin, 1);
blockread(fin, some_integer, sizeof(some_integer));
for i:=1 to n do blockread(fin, some_char[i], sizeof(some_char[i]);
close(fin);

End.


При записи почти весь файл забивается nul'ами, и, соответственно, ничего ни читается. Зарание спасибо.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 26.11.2006 13:42
Сообщение #2


Гость






Странно... Все работает (если не заводить второй файл, а делать reset(fout, 1); первому, и читать из него же, разумеется)...

Кстати, у тебя в blockread/blockwrite не хватает скобки... Опечатка?
 К началу страницы 
+ Ответить 
Lapp
сообщение 26.11.2006 13:47
Сообщение #3


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(Master Yoda @ 26.11.2006 14:20) *

Что делаю неправильно?

Ну, ты забыл две скобки, поэтому прога не компилировалась.. smile.gif
Но в остальном все верно. И все работает.
Так что неправильно ты делаешь что-то в другом месте, думаю.
Вот текст проги, которую я создал по твоей:
const
n=10;
some_integer:integer=$1234;
some_char:array[1..n]of char=('q','w','e','r','t','y','u','i','o','p');
fname='th021.dat';

var
fin, fout:file;
i:integer;

Begin
assign(fout, fname);
rewrite(fout, 1);
blockwrite(fout, some_integer, sizeof(some_integer));
for i:=1 to n do blockwrite(fout, some_char[i], sizeof(some_char[i]));
close(fout);

assign(fin, fname);
reset(fin, 1);
blockread(fin, some_integer, sizeof(some_integer));
for i:=1 to n do blockread(fin, some_char[i], sizeof(some_char[i]));
close(fin);

WriteLn(some_integer);
WriteLn(some_char);
ReadLn
End.

А вот ее результат:
Цитата
Running "c:\home\home\ak\pas\th\th021_master_yoda\th021.exe "
4660
qwertyuiop

- все правильно! smile.gif
Я использовал FPC с опцией совместимости с TP7.


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Хелп!!!!!
сообщение 30.06.2011 18:04
Сообщение #4


Гость






Кароч, ну пропустил одну лекцию, а теперь хватаюсь за голову... Нетипизированные файлы,
чё к чему хз:

Создать и заполнить файл f1 числами. Переписать из файла f1 в f2 только чётные числа....

Помогите, буду очень благодарен, заранее спасибо!
 К началу страницы 
+ Ответить 
Lapp
сообщение 30.06.2011 19:17
Сообщение #5


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(Хелп!!!!! @ 30.06.2011 19:04) *
Кароч, ну пропустил одну лекцию, а теперь хватаюсь за голову... Нетипизированные файлы,
чё к чему хз:

Создать и заполнить файл f1 числами. Переписать из файла f1 в f2 только чётные числа....

1. Зарегься и создай тему по правилам.
2. Напиши решение для типизированных файлов и показывай. Мы переделаем на нетипизированные.


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Closed Topic Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 25.06.2025 18:01
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"