Форум: "WinAPI";
Текущий архив: 2002.08.22;
Скачать: [xml.tar.bz2];
Внизсоздать большой файл Найти похожие ветки
← →
mcs (2002-06-16 15:33) [0]Подскажите, как создать быстро большой(100-1000мег)файл,
содержтмое не важно.
← →
SPeller (2002-06-16 15:45) [1]Создать файл сразу такой длины нельзя, потому как при создании файл всегда становится нулевой длины и разрастается по мере записи туда информации.
← →
~Rand~ (2002-06-16 15:53) [2]Удалено модератором
← →
Song (2002-06-16 18:03) [3]Можно. Был тут позавчера пример.
← →
SV (2002-06-16 18:07) [4]Как на счет разреженных файлов? Правда только NTFS 5 только поддерживает. Файл - адресное пространтсво. т.е. на диске занимает копейки, а обращаться можно только по заполненным адресам т.е. как-бы размер для данных может быть огромный. (как таблица с пустыми клетками).
← →
Pat (2002-06-16 18:14) [5]>mcs © (16.06.02 15:33)
> http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1024045102&n=0
Slava © (14.06.02 13:45)
procedure CreateBigFile;
var
F: TFileStream;
begin
F := TFileStream.Create("c:\1.1", fmCreate);
F.Size := 5000000;
F.Free;
end;
← →
mcs (2002-06-16 21:38) [6]pat :>> Спасибо
← →
GNOY (2002-06-16 22:54) [7]Удалено модератором
← →
GNOYLOS (2002-06-16 22:55) [8]Удалено модератором
← →
JOPODRILL (2002-06-16 22:56) [9]Удалено модератором
← →
PAXIT (2002-06-16 22:57) [10]Удалено модератором
← →
()FYHYYY^%%$$###JOPODRILL (16.06.02 22 (2002-06-16 22:58) [11]Удалено модератором
← →
FURUN_COOL! (2002-06-16 22:59) [12]Удалено модератором
← →
Raptor (2002-06-17 12:30) [13]Можно и без стримов.
Var
f:THandle;
Begin
f:=CreateFile("Test.dat", GENERIC_WRITE, FILE_SHARE_READ or FILE_SHARE_WRITE, 0, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0);
If f=INVALID_HANDLE_VALUE Then Begin
MessageBox(0, "Unable to create file", "File creation error", MB_OK);
Exit;
End;
SetFilePointer(f, 104857600 {100 Mb}, FILE_BEGIN);
CloseHandle(f);
End;
← →
Игорь Шевченко (2002-06-17 14:03) [14]Raptor © (17.06.02 12:30)
Перед CLoseHandle неплохо бы вставить SetEndOfFile(f); :-)
← →
Raptor (2002-06-17 15:41) [15]В даном случае это здесь не требуется. SetEndOfFile() используется в основном только для обрезки файла до меньшего размера. А здесь конец файла выставляется автоматически при переносе указателя функцией SetFilePointer().
← →
Игорь Шевченко (2002-06-17 15:54) [16]Raptor © (17.06.02 15:41)
The SetEndOfFile function moves the end-of-file (EOF) position for the specified file to the current position of the file pointer.
SetFilePointer - это current position
The SetEndOfFile function can be used to truncate or extend a file. If the file is extended, the contents of the file between the old EOF position and the new position are not defined.
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2002.08.22;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.007 c