Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> как определить корректность пути и файла, в Borland C++ 3.1 
:(
    Опции темы
pvp
Дата 12.6.2008, 11:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 43
Регистрация: 27.5.2008

Репутация: нет
Всего: нет



САБЖ
PM MAIL   Вверх
Gwendolen
  Дата 14.6.2008, 06:39 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 119
Регистрация: 5.4.2005

Репутация: нет
Всего: 1



smile Смотри WinAPI.
Следующий код должен работать на всех С:

Код

#include <windows.h>

BOOL
FileExists (LPCTSTR FileName)
  {     
    DWORD Code = GetFileAttributes (FileName);
    // Не ошибка и не папка
    return (Code != 0xFFFFFFFF) && (FILE_ATTRIBUTE_DIRECTORY != (Code & FILE_ATTRIBUTE_DIRECTORY));
  }

Удачи... smile

Добавлено @ 06:43
P.S. Предидущий код был для файла, соответственно для папки:
Код

#include <windows.h>

BOOL
DirExists (LPCTSTR DirName)
  {     
    DWORD Code = GetFileAttributes (DirName);
    // Не ошибка и это папка
    return (Code != 0xFFFFFFFF) && (FILE_ATTRIBUTE_DIRECTORY = (Code & FILE_ATTRIBUTE_DIRECTORY));
 } 


Это сообщение отредактировал(а) Gwendolen - 14.6.2008, 06:50
--------------------
Наносите пользу и причиняйте добро!
PM MAIL   Вверх
Mayk
Дата 14.6.2008, 08:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


Профиль
Группа: Участник
Сообщений: 2616
Регистрация: 22.5.2005
Где: за границей разум а

Репутация: 3
Всего: 134



Цитата(Gwendolen @  14.6.2008,  10:39 Найти цитируемый пост)
Следующий код должен работать на всех С:

не на всех(hint: в unix'ах выньапи отродясь не было), но мысль правильная. 

Цитата

> как определить корректность пути и файла, в Borland C++ 3.1 А здесь смотрели?

 на старом досовом bc3 может не сработать в силу отсутсвия там хедеров для винды, но туа bc3 и дорога



--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
Rififi
Дата 15.6.2008, 00:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1254
Регистрация: 9.3.2008

Репутация: 3
Всего: 36



pvp, 
проверить путь на предмет наличия запрещённых символов, а те, которые разрешены - чтобы находились на соответствующих местах.
PM MAIL   Вверх
andrew_121
Дата 15.6.2008, 00:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 10
Всего: 33



Старый добрый способ, точно работает на всех С:
Код

int FileExists( const char* filename ) {
   FILE* fp = fopen( filename, "r" );
   if ( !fp )
      return -1;
   return fclose( fp );
}

int DirectoryExists( const char* dirname ) {
   DIR *dp;
   dp = opendir( dirname );
   if ( !dp )
      return -1;
   return closedir( dp );
}



Это сообщение отредактировал(а) andrew_121 - 15.6.2008, 00:19


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
LavYaAll
Дата 15.6.2008, 12:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Awaiting Authorisation
Сообщений: 62
Регистрация: 1.5.2008

Репутация: 1
Всего: 1



Можно еще юзать:
Код

int _stat(const char *path, struct _stat *buffer); 

Или
Код

int _access(const char *path, int mode);

И через них проверить. Но функции платформозависимы.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0488 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.