Как изменить размер файла средствами потоковых функций?
От: dims12 http://www.relativity.ru
Дата: 22.07.05 13:12
Оценка:
Привет!

А как изменить размер файла (уменьшить) средствами потоковых функций? Серии fstream etc.?

Димс.
Re: Как изменить размер файла средствами потоковых функций?
От: MaximE Великобритания  
Дата: 22.07.05 14:28
Оценка:
dims12 wrote:

> А как изменить размер файла (уменьшить) средствами потоковых функций? Серии fstream etc.?


Только перезаписать его заново.

Используй платформенные ф-ции, как ftruncate для POSIX.

--
Maxim Yegorushkin
Posted via RSDN NNTP Server 1.9
Re: Как изменить размер файла средствами потоковых функций?
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 22.07.05 14:29
Оценка:
Здравствуйте, dims12, Вы писали:

D>А как изменить размер файла (уменьшить) средствами потоковых функций? Серии fstream etc.?


Никак.

Для усечения файла нужно использовать платформенно-зависимые функции. chsize под Win, ftruncate под Linux-ом.
... << RSDN@Home 1.1.4 stable rev. 510>>


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[2]: Как изменить размер файла средствами потоковых функци
От: dims12 http://www.relativity.ru
Дата: 22.07.05 23:15
Оценка:
Разве chsize — это не часть стандартной библиотеки, которая есть во всех реализациях Си?
Re[3]: Как изменить размер файла средствами потоковых функци
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 23.07.05 08:34
Оценка:
Здравствуйте, dims12, Вы писали:

D>Разве chsize — это не часть стандартной библиотеки, которая есть во всех реализациях Си?


Нет, не часть. Она есть только в тех реализациях, которые выросли из DOS-а (Windows, OS/2).
На Unix-ах эту же роль выполняет ftruncate. Но, насколько я знаю, она так же не стандартная, просто есть в *BSD и Linux-е.
... << RSDN@Home 1.1.4 stable rev. 510>>


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[4]: Как изменить размер файла средствами потоковых функци
От: MaximE Великобритания  
Дата: 23.07.05 10:24
Оценка: 18 (1)
Здравствуйте, eao197, Вы писали:

E>На Unix-ах эту же роль выполняет ftruncate. Но, насколько я знаю, она так же не стандартная, просто есть в *BSD и Linux-е.


Как же нестандартно? Это POSIX. http://www.opengroup.org/onlinepubs/009695399/functions/ftruncate.html
Re[5]: Как изменить размер файла средствами потоковых функци
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 23.07.05 10:54
Оценка:
Здравствуйте, 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>>


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.