работа с файлами
привет всем. у меня тут проблема, лектор вопрос задал., когда мы еще не создали файл а просто работаем с ним где этот файл создается или хранится. я типа сказал что в буфере ввода-вывода, потом еще где то . кароче не правильно. потом у него знакомая девчонка спросила он сказал что на файловых носителях. я подошел кароче сказал что на фаловых носителях, кароче он меня послал. терь у меня хвост если завтра не отвечу. помогите.
Это интересно как можно работать с несозданным файлом ? Возможно имелась ввиду работа с данными в памяти до их "сброса" на диск ?
ОППА !!! вот на этих словечках-то и надобыло его ловить, разве файловые носители это не винт или флеш и т.п., раз этот файл на них храниться значит он на них уже создан
да хрен его поймет, он ваще ненормальный какой то , таких мало, и почему то он нам попался. ну че кто нить знает ответ? я ему сказал как происходит запись в файл, он этот вопрос задал, я тоже его не понял, но к нему не подкопаться, спокойный как удав, сволоч. так где там может этот гребаный файл хранится? я все перепробовал, я сказал кароче через assign его с физическим связываю, он сказал что до этого момента он где то создается, до того как процедура пошла assign. нихрена не пойму че он хочет. вообще какие мысли есть? кто как понял вопрос, может я ему завтро впихну ченить, или подряд говорить буду, может че получится, в лоб на.
блин , помогите пожалуста
Давай перейдем к твоему последнему сообщению:
насчет assign, этой функцией ЗАДАЕТСЯ ПУТЬ К ФАЙЛУ, поэтому файл НИКАК не может быть создан (до assign) пока не скажешь ГДЕ его создавать (что естественное делает функция assign() ).
А теперь поговрим о том, что может быть перед assign:
приведу на примере: var f:file of integer;
я думаю ты уже понял о чем я говорю, если нет, то немного поподробнее:
assign присваевает переменной путь к файлу, путь естественно мы пишем сами, а вот переменную мы указываем в var-е... ну а тут я думаю уже стало более понятно... НО, если мы переменную уазали как файл (в var-е), то это незначит что в ней хранится какой-то файл!
А вообще, я полностью согласен с mike, и предлагаю ответить так: "НИГДЕ" (может поможет).
препод: "Где хранится файл, до того как его создали??? 8-()"
ты: "НИГДЕ!"
препод: "как нигде?????"
ты: "под работой с файлом понимается чтение и запись в него, а если файл не создан как можно можно записывать в никуда и читать ниоткуда (если на считать переменные, но это уже не файл)?!?!?!"
uses crt;
var f:Text;
begin
clrscr;
WriteLn(SizeOf(f));{размер буфера 128 + вспомагательные данные }
assign(f,'out.dat');
rewrite(f);
WriteLn(f,'To chto doctor propisal'#0); {Эта надпись пишется в файл, но перед записью попадает в буфер}
WriteLn(PChar(@(pchar(@f)[128]))); {Выводим этот буфер}
close(f); {Не записанные данные записываются в файл}
end.
flush - скинуть данные из буфера на диск, данные не сразу попадают на диск, а частями по мере заполнения буфера.
Если нужно задать свой размер буфера то
reset(f,x);
rewrite(f,x); x-размер буфера, у меня не сработало, но в хэлпе написанно.
все я сдал, он #####, даже не вспомнил этот вопрос, зато с 9 до 5 я его мучал. всем спасибо- хоть чета узнал.