Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++: WinAPI
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.56/43: Рейтинг темы: голосов - 43, средняя оценка - 4.56
kravam
быдлокодер
1711 / 898 / 106
Регистрация: 04.06.2008
Сообщений: 5,587
1

Как изменить размер файла (если программно) или существует ли функция SetFileSize?

06.04.2010, 18:42. Просмотров 8248. Ответов 6
Метки нет (Все метки)

Друзья!
До сей поры не было в этом необъходимости, а поскольку задача тривиальная (вроде бы) в существовании подобной функции я не сомневался.

Но вот теперь понадобылось изменить размер файла, а такой api-функции, оказывается, нет!

КАк быть? Ума не приложу. Создавать новый файл и копировать в него старый до нужной позиции это несерьёзно. ПОдскажите, а?

(Вернее, есть много всяких надписей в google SуеFileSize, но этот какие-то методы... Мне нужна простенькая api-функция
Ну, или на худой конец, как это сделать программно? Файл текстовый. ПРобовал запихать в него EOF по нужной позиции (дабы отсечь "хвост" файла)- не получается)

Спасибо заранее.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.04.2010, 18:42
Ответы с готовыми решениями:

Как программно удалить кнопку которую программно создал но только если она уже существует
Есть ScrollView в котором много компонентов,чтоб не выводить сразу все решил выводить по 10 штук и...

Как программно изменить размер формы?
Подскажите плиз как програмно можно изменить размер формы

Как можно программно изменить размер консоли программы
Подскажите пожалуйста, как можно программно изменить размер консоли программы? Пробовал Window,...

Как на vbs или bat или cmd изменить размер окна браузера?
Здравствуйте. Нужен скрипт vbs для изменения уже открытого окна мазилы размером 600х800. Нашёл...

Определить существует ли треугольник со сторонами а, b, c и если существует, то является ли он равностонним равнобедренным или разносторонним
Определить существует ли треугольник со сторонами а, b, c и если существует, то является ли он...

6
Джуниор
83 / 62 / 7
Регистрация: 29.09.2009
Сообщений: 369
06.04.2010, 19:40 2
Если предположить что windows сама подсчитывает размер файла то наверно никак.
Получается уменьшить никак нельзя(разве что сжать архиватором) . А вот увеличить наверно можно, забив в него данные таким образом чтоб сам файл не пострадал. Например видел программу которая в файл Jpeg рисунка подмешивает текст, при этом размер файла увеличивается а картинка не меняеться...
0
kravam
быдлокодер
1711 / 898 / 106
Регистрация: 04.06.2008
Сообщений: 5,587
06.04.2010, 19:59  [ТС] 3
Не устраивает ответ при всём уважении к отвечающему.
Смотри, уменьшить размер вручную (текстовый файл), проще пареной репы. Бинарник- то же самое (открываем hex- редактором и правим)

...Я должен поверить что эти действия до сих пор не автоматизированы?
Если дело сводится к тому, чтобы в недрах винды найти некоторую стркутурку, соджержащую данные о файле, одно из полей которой- его размер... В общем, надеюсь, что откликнутся люди, етоторые это дело проделывали.
0
Джуниор
83 / 62 / 7
Регистрация: 29.09.2009
Сообщений: 369
06.04.2010, 21:17 4
Уважаю Ваше уважение )))! Если найдется решение
вне форума пож-та сюда тоже отпишитесь, а так на тему подписан.
Самому интересно...
0
elfon
11 / 11 / 1
Регистрация: 09.11.2009
Сообщений: 32
06.04.2010, 21:47 5
SetEndOfFile Function
msdn
Судя по описанию эта функция способна на это.
1
odip
Эксперт С++
7165 / 3223 / 77
Регистрация: 17.06.2009
Сообщений: 14,166
07.04.2010, 13:17 6
Смотри, уменьшить размер вручную (текстовый файл), проще пареной репы. Бинарник- то же самое (открываем hex- редактором и правим)
А кто тебе сказал что при этом не переписывается весь файл ?

В языке C в разных системах функции chsize(), truncate(), ftruncate() которые изменяют размер файла.
0
Goodwin98
2524 / 820 / 10
Регистрация: 31.05.2009
Сообщений: 1,672
08.04.2010, 02:22 7
Как вариант еще есть SetFileInformationByHandle. Но ей много чего можно изменить о файле.
0
08.04.2010, 02:22
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.04.2010, 02:22

Как изменить размер окна если убран фрейм?
Как изменять размер программы растягивая форму за края, если убран фрейм? И как добавить тень? ...

Как программно определить размер выбранного пользователем файла?
Собственно нужен код, который бы отображал в лейбле размер выбранного пользователем файла.

Как программно изменить значение ключа реестра, если нет прав на доступ?
Здравствуйте. Написал просмотрщик графики, хочу добавить в него единственную настройку - установку...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru