The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Мелочь в программировании на СИ..."
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Мелочь в программировании на СИ..."
Сообщение от Alexander emailИскать по авторуВ закладки on 26-Июн-02, 15:50  (MSK)
Возможно ли проверить существование файла на СИ, без попытки его открытия с помощью функции open()? Или обязательно его открывать, а потом смотреть - произошла ли ошибка? Хотелось бы как правильно... ;-)
  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Ещё одна мелочь в программировании на СИ..."
Сообщение от Alexander emailИскать по авторуВ закладки on 26-Июн-02, 15:59  (MSK)
После неудавшегося открытия файла - следует ли его закрывать? Какие последствия от неправильного действия? А что будет если наоборот, прозойдёт return из функции до его закрытия?
  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "RE: Ещё одна мелочь в программировании на СИ..."
Сообщение от Арлекин emailИскать по авторуВ закладки on 26-Июн-02, 17:35  (MSK)
1. Наличие проверяется
if ( access( file, F_OK ) == 0 )
man access, короче.
2. Суть процедуры закрытия, по большому счету, для БУФЕРИЗОВАННОГО i/o, заключается в сбросе на диск файлового буфера. Если файл не закрыть или не сделать из программы flush перед return'ом, то все что осталось в буфере потеряется. Злоупотреблять флушами тоже не стоит - это ОЧЕНЬ медленная с т.з. процесса исполнения операция.
  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "RE: Ещё одна мелочь в программировании на СИ..."
Сообщение от Дмитрий Искать по авторуВ закладки on 04-Июл-02, 16:18  (MSK)
>1. Наличие проверяется
>if ( access( file, F_OK ) == 0 )

Строго говоря access() проверяет не только наличие файла как
такового, но еще и прав доступа к нему - проще воспользоваться
функцией stat()

  Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "RE: Ещё одна мелочь в программировании на СИ..."
Сообщение от Арлекин emailИскать по авторуВ закладки on 04-Июл-02, 16:47  (MSK)
Обычно делают кто как привык. Иной раз типа
if (!fopen(...)) ; else fclose(..)
достаточно. Вопрос необходимости, как всегда зависит от контекста.
  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "RE: Мелочь в программировании на СИ..."
Сообщение от uldus Искать по авторуВ закладки on 26-Июн-02, 16:04  (MSK)
man 2 stat
  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру