dims12 wrote:
> А как изменить размер файла (уменьшить) средствами потоковых функций? Серии fstream etc.?
Только перезаписать его заново.
Используй платформенные ф-ции, как ftruncate для POSIX.
--
Maxim YegorushkinPosted via RSDN NNTP Server 1.9
Здравствуйте, dims12, Вы писали:
D>А как изменить размер файла (уменьшить) средствами потоковых функций? Серии fstream etc.?
Никак.
Для усечения файла нужно использовать платформенно-зависимые функции. chsize под Win, ftruncate под Linux-ом.
... << RSDN@Home 1.1.4 stable rev. 510>>
Разве chsize — это не часть стандартной библиотеки, которая есть во всех реализациях Си?
Здравствуйте, dims12, Вы писали:
D>Разве chsize — это не часть стандартной библиотеки, которая есть во всех реализациях Си?
Нет, не часть. Она есть только в тех реализациях, которые выросли из DOS-а (Windows, OS/2).
На Unix-ах эту же роль выполняет
ftruncate. Но, насколько я знаю, она так же не стандартная, просто есть в *BSD и Linux-е.
... << RSDN@Home 1.1.4 stable rev. 510>>
Здравствуйте, eao197, Вы писали:
E>На Unix-ах эту же роль выполняет ftruncate. Но, насколько я знаю, она так же не стандартная, просто есть в *BSD и Linux-е.
Как же нестандартно? Это POSIX.
http://www.opengroup.org/onlinepubs/009695399/functions/ftruncate.html
Здравствуйте, MaximE, Вы писали:
ME>Здравствуйте, eao197, Вы писали:
E>>На Unix-ах эту же роль выполняет ftruncate. Но, насколько я знаю, она так же не стандартная, просто есть в *BSD и Linux-е.
ME>Как же нестандартно? Это POSIX. http://www.opengroup.org/onlinepubs/009695399/functions/ftruncate.html
Просто меня смущало, что man-ы по ftruncate не пишут, что ftruncate соответствует какому-то стандарту. Вот и по приведенной ссылке из FreeBSD man так же про соответствие стандарту ничего не говорится. А так же в
man от OpenBSD. А вот сейчас проверил в 10-й Slackware, там написано, что ftruncate появился в IEEE 1003.1-1996.
Итого: на счет нестандартности ftruncate был не прав.
... << RSDN@Home 1.1.4 stable rev. 510>>