The OpenNET Project
 
Поиск (ключи):    ПРОГРАММЫ СТАТЬИ СОВЕТЫ ФОРУМ
  WIKI НОВОСТИ (+) MAN'ы ДОКУМЕНТАЦИЯ

Каталог документации / Раздел "Программирование, языки" / Оглавление документа
next up previous contents
Next: Резервирование памяти под файл. Up: Работа с файлами. Previous: Удаление файла.   Contents

Изменение размера файла.





MPI_FILE_SET_SIZE(fh, size)



INOUT fh дескриптор файла (дескриптор)
IN size размер, до которого необходимо расширить или урезать файл (целое)




int MPI_File_set_size(MPI_File fh, MPI_Offset size)
MPI_FILE_SET_SIZE(FH, SIZE, IERROR)
INTEGER FH, IERROR
INTEGER(KIND=MPI_OFFSET_KIND) SIZE
void MPI::File::Set_size(MPI::Offset size)
MPI_FILE_SET_SIZE изменяет размер файла, ассоциированного с дескриптором fh. Размер измеряется в байтах от начала файла. MPI_FILE_SET_SIZE - коллективная; все процессы в группе должны устанавливать одно и то же значение size. Если новый размер меньше, чем текущий размер файла, файл урезается до позиции, определяемой новым размером. Для реализации необязательно удалять из памяти участки файла, расположенные за этой позицией.

Если новый размер больше текущего размера файла, размер файла становится равным size. Участки файла, записанные до этого, не изменяются. Значения данных в новых участках файла (со смещением между старым размером файла и новым) неопределенны. Будет ли подпрограмма MPI_FILE_SET_SIZE выделять пространство под файл, зависит от реализации, - используйте
MPI_FILE_PREALLOCATE, чтобы заставить выделять пространство для файла. MPI_FILE_SET_SIZE не влияет на индивидуальные или общие файловые указатели. Если был определен тип доступа MPI_MODE_SEQUENTIAL, когда открывался файл, то тогда использование данной подпрограммы приведет к ошибке.

Совет пользователям:

Возможно, файловые указатели будут указывать на позиции за концом файла, после того как операция MPI_FILE_SET_SIZE урезает файл. Это допустимо и эквивалентно поиску за текущим концом файла. []

Все неблокирующие запросы и разделенные коллективные операции над fh должны быть выполнены до вызова MPI_FILE_SET_SIZE. В противном случае, вызов MPI_FILE_SET_SIZE ошибочен. Что касается семантики согласованности, то MPI_FILE_SET_SIZE - это операция записи, которая конфликтует с операциями, которые работают с байтами по смещениям между старым и новым размерами файла (см. раздел File Consistency ).



Alex Otwagin 2002-12-10

ПОДПИШИСЬ НА ЖУРНАЛ Linux Format 2012!

Журнал "Linux Format" (Линукс Формат)- Единственный в России и странах СНГ журнал на русском языке, посвящённый Linux и свободному ПО. Журнал для IT-директоров, IT-менеджеров, программистов, системных администраторов, учителей школ и преподавателей ВУЗов и всех пользователей ПК. В каждом выпуске: Новости индустрии OpenSource, обзоры новинок свободного ПО, обучающие и методические статьи.

Каждый, кто оформит подписку, получает бонусы и подарки- объёмные наклейки на системный блок, диск с архивом номеров за 2005-2011 г.г. и ежемесячно электронную версию журнала в pdf-формате.

Оформить подписку на год


  Закладки на сайте
  Проследить за страницей
Created 1996-2012 by Maxim Chirkov  
ДобавитьРекламаВебмастеруГИД  
RUNNet TopList