создать файл заданного размера
От: DmitryElj Россия  
Дата: 08.04.02 09:00
Оценка:
Всем привет.
Вопрос собственно в сабже.
Нужно быстро создать файл (большой, ну например 200Мб) заданного размера.
Содержимое не важно, т.к. заполняться он будет позже.
Чем можно его создать, чтобы было побыстрее?
ПисАть в файл в цикле как-то не хочется...
Заранее спасибо.
Дмитрий.
Re: создать файл заданного размера
От: yogi Россия  
Дата: 08.04.02 09:04
Оценка:
Здравствуйте DmitryElj, Вы писали:

DE>Всем привет.

DE>Вопрос собственно в сабже.
DE>Нужно быстро создать файл (большой, ну например 200Мб) заданного размера.
DE>Содержимое не важно, т.к. заполняться он будет позже.
DE>Чем можно его создать, чтобы было побыстрее?
DE>ПисАть в файл в цикле как-то не хочется...
DE>Заранее спасибо.
DE>Дмитрий.
Например так.
ofstream file("filename");
file.seekp(YOURSIZE-1);
file.put((unsigned char)0);
Путь к сердцу женщины лежать не должен.
Re: создать файл заданного размера
От: Alex Fedotov США  
Дата: 08.04.02 09:04
Оценка: 2 (1)
Здравствуйте DmitryElj, Вы писали:

DE>Всем привет.

DE>Вопрос собственно в сабже.
DE>Нужно быстро создать файл (большой, ну например 200Мб) заданного размера.
DE>Содержимое не важно, т.к. заполняться он будет позже.
DE>Чем можно его создать, чтобы было побыстрее?
DE>ПисАть в файл в цикле как-то не хочется...
DE>Заранее спасибо.
DE>Дмитрий.

SetFilePointer + SetEndOfFile
-- Alex Fedotov
Re[2]: создать файл заданного размера
От: DmitryElj Россия  
Дата: 08.04.02 10:25
Оценка:
Здравствуйте Alex Fedotov, Вы писали:

DE>>Вопрос собственно в сабже.

DE>>Нужно быстро создать файл (большой, ну например 200Мб) заданного размера.
DE>>Содержимое не важно, т.к. заполняться он будет позже.
DE>>Чем можно его создать, чтобы было побыстрее?

AF>SetFilePointer + SetEndOfFile


Спасибо, то что надо.
И скорость приличная. Я даже удивился, думал в файле мусор всякий будет, а он оказался нулями заполнен. Странно даже, как удаётся заполнение на такой скорости (скорость создания раз в ~5 быстрее скорости копирования в FAR-е этого же файла).

Дмитрий.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.