powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / SetFileSize?
11 сообщений из 11, страница 1 из 1
SetFileSize?
    #33111897
Ой Вэй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Когда я программно создаю и записываю по кусочкам файл, он оказывается очень фрагментированным.

Я примерно знаю будущий размер этого файла, а процесс записи планирую закончить в кратчайшие сроки.

Есть ли возможность при создании файла запросить свободное место на диске?
(сравните с оператором new)
...
Рейтинг: 0 / 0
SetFileSize?
    #33111953
Фотография Землекоп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
#include <io.h>

int _chsize( int handle, long size );
...
Рейтинг: 0 / 0
SetFileSize?
    #33111969
Ой Вэй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, буду пробовать.
...
Рейтинг: 0 / 0
SetFileSize?
    #33112058
Tracer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имхо лучше memory mapped файлы

CreateFileMapping и.т.д
...
Рейтинг: 0 / 0
SetFileSize?
    #33112232
Ой Вэй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Tracer
Звучит красиво, но я первый раз про это слышу, увы. Пока не понял, например, как это будет работать с несуществующим файлом и потянет ли CArchive работать с таким "файлом". А переписывать большой кусок программы не хочется.
...
Рейтинг: 0 / 0
SetFileSize?
    #33112326
Ой Вэй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выяснил экспериментально, что задание размера файла заранее не препятствует его фрагментации :(
...
Рейтинг: 0 / 0
SetFileSize?
    #33112362
Кодер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ой ВэйВыяснил экспериментально, что задание размера файла заранее не препятствует его фрагментации :(

Если диск сильно фрагментирован, то это не поможет. Еще нужно, что бы программа писала в файл не изменяя его размер, после создания, тогда можно избежать фрагментации.
...
Рейтинг: 0 / 0
SetFileSize?
    #33112449
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Файл-то закрывал ?
...
Рейтинг: 0 / 0
SetFileSize?
    #33112582
Ой Вэй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 MasterZiv
Файл-то закрывал ?
Сразу после задания размера или вообще? Вообще конечно да, а сразу после задания размера -- зачем?
Провёл эксперимент, в обоих случаях одинаковое количество фрагментов...

2 Кодер
Если диск сильно фрагментирован, то это не поможет.
Не сильно. И куски интересующего меня размера есть (размер, кстати, небольшой, в пределах метра как правило).
Еще нужно, чтобы программа писала в файл не изменяя его размер, после создания, тогда можно избежать фрагментации.
Я примерно так это и планировал, оказалось -- фиг. Создаю файл, задаю размер, закрываю файл (вообще ничего не пишу). Фрагментов всё равно много.
...
Рейтинг: 0 / 0
SetFileSize?
    #33112590
Фотография Сергей Ильич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В общем-то это личное дело операционной системы - как она намеревается файл фрагментировать, и прикладника такие вещи волновать не должны.
...
Рейтинг: 0 / 0
SetFileSize?
    #33112680
Кодер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ой ВэйЯ примерно так это и планировал, оказалось -- фиг. Создаю файл, задаю размер, закрываю файл (вообще ничего не пишу). Фрагментов всё равно много.

Дефрагментируй диск для начала.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / SetFileSize?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]