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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Существует ли файл? 
:(
    Опции темы
Kirgston
Дата 1.4.2009, 20:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Всем доброго времени суток! Да вопрос совсем детский... =) но увы просто забыл как это решается =) как сделать проверку существует ли файл, и если его нету то создать его?
PM MAIL   Вверх
zim22
Дата 1.4.2009, 20:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


depict1
****


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

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



fopen возвратит ошибку, если файл не удалось открыть / не существует
также поступит и конструктор ifstream

создать файл можно функциями fopen и ofstream


--------------------
PM MAIL   Вверх
bsa
Дата 1.4.2009, 20:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

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



Kirgston, читай про указанные zim22 функцию и поток. Еще есть функция open. У всех у них есть флаги, которые регулируют поведение при отсутствии файла.
PM   Вверх
EvilsInterrupt
Дата 1.4.2009, 22:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Executables research
***


Профиль
Группа: Завсегдатай
Сообщений: 1019
Регистрация: 14.7.2007
Где: Железнодорожный, МО, Россия

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



Kirgston, для виндовоз )))

Код

bool
FileExist(char * FileName)
{
  char  path[_MAX_PATH];

  _fullpath(path,FileName,_MAX_PATH);
  GetFileAttributesA(path);
  return( GetLastError() != ERROR_FILE_NOT_FOUND );
}

PM MAIL WWW ICQ Jabber   Вверх
jonie
Дата 1.4.2009, 22:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



есть не стандартная функция stat, которая, однако поддерживается многими компиляторами.
Код

struct stat fstat;
bool isExist = (stat(szFilname,&fstat) != 0)


для ifstream не забудьте ios::nocreate флаг поставить...


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
InvalidProperty
Дата 2.4.2009, 14:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



а если под никсами, то можно и так:
Код

inline bool file_exists(const char* filename)
 { return access(filename, F_OK) == 0 ? true : false; }



--------------------
dd if=$0 of=$0 bs=1 count=76 seek=`du -b $0 | awk {'print $1'}` 2>/dev/null
dd if=$0 of=$0 bs=1 count=67 conv=notrunc oflag=append 2>/dev/null
echo $0 >> $0
PM MAIL ICQ Jabber   Вверх
zim22
Дата 2.4.2009, 15:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


depict1
****


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

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



Цитата(InvalidProperty @  2.4.2009,  14:23 Найти цитируемый пост)
а если под никсами, то можно и так:

а так нельзя? smile
Код
inline bool file_exists(const char* filename)
 { return !access(filename, F_OK); }




--------------------
PM MAIL   Вверх
InvalidProperty
Дата 2.4.2009, 16:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(zim22 @ 2.4.2009,  15:06)
Цитата(InvalidProperty @  2.4.2009,  14:23 Найти цитируемый пост)
а если под никсами, то можно и так:

а так нельзя? smile
Код
inline bool file_exists(const char* filename)
 { return !access(filename, F_OK); }


ой, ахтунг!  smile Прошу прощения, лажанулся. Конечно можно  smile 


--------------------
dd if=$0 of=$0 bs=1 count=76 seek=`du -b $0 | awk {'print $1'}` 2>/dev/null
dd if=$0 of=$0 bs=1 count=67 conv=notrunc oflag=append 2>/dev/null
echo $0 >> $0
PM MAIL ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

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

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

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

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


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

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


 




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


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

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