powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / как расширить файл?
10 сообщений из 10, страница 1 из 1
как расширить файл?
    #33999976
ЯЖеГость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!

Используя winApi OpenFile - создал файл, теперь хочу его расширить, например, на 10000 байт. Есть ли win функция, для расширения файла на N байт ( НЕ ЗАПИСЬ НАЧИНАЯ С ПОСЛЕ ПОСЛЕДНЕГО В ФАЙЛЕ БАТА 10000 БАЙТ!!!, а просто расширение без какой либо инициализации байт)
...
Рейтинг: 0 / 0
как расширить файл?
    #34000153
ЯЖеГостьЗдравствуйте!

Используя winApi OpenFile - создал файл, теперь хочу его расширить, например, на 10000 байт. Есть ли win функция, для расширения файла на N байт ( НЕ ЗАПИСЬ НАЧИНАЯ С ПОСЛЕ ПОСЛЕДНЕГО В ФАЙЛЕ БАТА 10000 БАЙТ!!!, а просто расширение без какой либо инициализации байт)
А, так ты хочешь, чтобы как с памятью: создал файл определенного размера, а там мусор... Потому убрал мусор и записал что надо....
ИМХО, чтобы так сделать, надо переписать примерно половину ОСи.
Ну и флаг Вам в руки - писать собственную ОСь.
А если Вы собираетесь работать под Виндой, то СОВЕТ: почитайте где-нибудь про работу ОСи с файлами подробнее: File Allocation Table, выделение дискового пространства, оптимизация выделения дискового пространства и т.д. Тогда подобных вопросов станет меньше...
...
Рейтинг: 0 / 0
как расширить файл?
    #34000367
andy55555
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BOOL SetFileValidData(
HANDLE hFile,
LONGLONG ValidDataLength
);

?
...
Рейтинг: 0 / 0
как расширить файл?
    #34000500
kolobok0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЯЖеГостьЗдравствуйте!

Используя winApi OpenFile - создал файл, теперь хочу его расширить, например, на 10000 байт. Есть ли win функция, для расширения файла на N байт ( НЕ ЗАПИСЬ НАЧИНАЯ С ПОСЛЕ ПОСЛЕДНЕГО В ФАЙЛЕ БАТА 10000 БАЙТ!!!, а просто расширение без какой либо инициализации байт)

fseek
с параметром SEEK_END (End of file.) Вам поможет...



Код: plaintext
1.
result = fseek(stream, 10000L, SEEK_END);

удачи Вам
(круглый)
...
Рейтинг: 0 / 0
как расширить файл?
    #34000573
ЯЖеГость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kolobok0 ЯЖеГостьЗдравствуйте!

Используя winApi OpenFile - создал файл, теперь хочу его расширить, например, на 10000 байт. Есть ли win функция, для расширения файла на N байт ( НЕ ЗАПИСЬ НАЧИНАЯ С ПОСЛЕ ПОСЛЕДНЕГО В ФАЙЛЕ БАТА 10000 БАЙТ!!!, а просто расширение без какой либо инициализации байт)

fseek
с параметром SEEK_END (End of file.) Вам поможет...



Код: plaintext
1.
result = fseek(stream, 10000L, SEEK_END);

удачи Вам
(круглый)


Спасибо!

Я понял что seek также расширяет файл!
...
Рейтинг: 0 / 0
как расширить файл?
    #34001177
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Станислав С...File Allocation Table

Зачем такие советы давать? Чтобы умным прослыть? И куда бедный чел. сунется со своими знаниями FAT? Свою собственную ось будет лабать?
...
Рейтинг: 0 / 0
как расширить файл?
    #34002587
Фотография Makar4ik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
HANDLE fhandle = CreateFile(lpFileName, GENERIC_READ | GENERIC_WRITE,  0 , OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL,  0 );
SetFilePointer(fhandle,  10000 , NULL, FILE_BEGIN);
SetEndOfFile(fhandle);    //CloseHandle(fhandle);
...
Рейтинг: 0 / 0
как расширить файл?
    #34003583
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тока чуваку нужно было FILE_END
...
Рейтинг: 0 / 0
как расширить файл?
    #34003596
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и не забыть потом вернуть указатель назад.
...
Рейтинг: 0 / 0
как расширить файл?
    #34010543
ZeusTheTrueGod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fseek - классная штука.
Предположим, кто -то расшарил папку в сети с названием Incoming, а сама папка находится на системном диске, естественно, выдаётся полный доступ.

В этом случае есть простой способ забить диск до конца:
Создаём файл со случайным именем, пишем в байт по номеру 2 000 000 000 , тем самым за мгновения создаётся файл размером два мегабайта. Повторяем операцию с дргугими файлами, уменьшая размер в случае отсутсвии места на диске. Под конец , когда на диске практически не осталось места, выполняется другая процедура: в цикле создаём файлы нулевой длины, количество файлов должно быть побольше, но 100 000 вполне хватит.

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


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