Форум программистов, компьютерный форум CyberForum.ru

Проверка на существование папки - C++

Восстановить пароль Регистрация
 
Supernatural
285 / 141 / 28
Регистрация: 22.11.2010
Сообщений: 1,439
10.07.2015, 23:18     Проверка на существование папки #1
C++
1
2
if (localadress) cout<<"Существует"; else cout<<"Надо создать";
if ("D:\\Games") cout<<"Существует"; else cout<<"Надо создать";
localadress имеет тип string
Мне нужно проверить существует ли папка на диске. 1 строка не работает, зато работает 2 строка. Какая между ними разница?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
gray_fox
What a waste!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 3
10.07.2015, 23:18     Проверка на существование папки #2
Цитата Сообщение от Supernatural Посмотреть сообщение
зато работает 2 строка
Она не работает.
KOPOJI
Модератор
 Аватар для KOPOJI
16241 / 6452 / 389
Регистрация: 12.06.2012
Сообщений: 19,335
10.07.2015, 23:19     Проверка на существование папки #3
потому что чары могут привестись к булеву, а строка не может?
Supernatural
285 / 141 / 28
Регистрация: 22.11.2010
Сообщений: 1,439
10.07.2015, 23:20  [ТС]     Проверка на существование папки #4
gray_fox, ок, только убедился. Но все равно - нужно проверить на существование.
KOPOJI
10.07.2015, 23:21
  #5

Не по теме:

gray_fox, работает. Смотря что от нее ожидают..

Supernatural
285 / 141 / 28
Регистрация: 22.11.2010
Сообщений: 1,439
10.07.2015, 23:22  [ТС]     Проверка на существование папки #6
В с++ вообще есть такие средства? С подобными задачами я ранее не сталкивался, и сейчас в некотором замешательстве. Мне ее нужно оформить, желательно, в консольном виде.
KOPOJI
Модератор
 Аватар для KOPOJI
16241 / 6452 / 389
Регистрация: 12.06.2012
Сообщений: 19,335
10.07.2015, 23:24     Проверка на существование папки #7
Supernatural, есть. Есть в бусте, есть в винапи, есть в цли, есть в юниксах.. Смотря что вам требуется
gray_fox
What a waste!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 3
10.07.2015, 23:27     Проверка на существование папки #8
Цитата Сообщение от Supernatural Посмотреть сообщение
gray_fox, ок, только убедился. Но все равно - нужно проверить на существование.
В С++ такого "из коробки" нет. Надо использовать специфичные для ОС штуки/подключать сторонние библиотеки. Из первого - stat() есть почти везде, насколько я знаю.

Добавлено через 2 минуты
Ссылка на Linux man, на другую ОС надо будет погуглить.
ValeryS
Модератор
6374 / 4840 / 442
Регистрация: 14.02.2011
Сообщений: 16,043
10.07.2015, 23:29     Проверка на существование папки #9
Цитата Сообщение от Supernatural Посмотреть сообщение
В с++ вообще есть такие средства?
конкретно в Си(С++) нет, он ничего не знает о файловой системе
зато знают библиотеки
Цитата Сообщение от KOPOJI Посмотреть сообщение
в бусте, есть в винапи, есть в юниксах..
например в винде
FindFile https://msdn.microsoft.com/ru-ru/lib...v=vs.100).aspx
FindNextFile https://msdn.microsoft.com/ru-ru/lib...v=vs.100).aspx
Supernatural
285 / 141 / 28
Регистрация: 22.11.2010
Сообщений: 1,439
10.07.2015, 23:31  [ТС]     Проверка на существование папки #10
Цитата Сообщение от KOPOJI Посмотреть сообщение
Смотря что вам требуется
мне нужно лишь проверить на наличие папки, как можно проще, приложение разрабатываю в виде Console Application
Цитата Сообщение от gray_fox Посмотреть сообщение
Ссылка на Linux man, на другую ОС надо будет погуглить.
Линукс это лишнее, строго под винду.

Добавлено через 2 минуты
ValeryS, то, что есть ф-я FindFile это замечательно, но мне бы просто верификацию на существование папки.
ValeryS
Модератор
6374 / 4840 / 442
Регистрация: 14.02.2011
Сообщений: 16,043
10.07.2015, 23:37     Проверка на существование папки #11
Цитата Сообщение от Supernatural Посмотреть сообщение
но мне бы просто верификацию на существование папки.
ужель бы ты почитал ссылки, то знал бы что папка от файла отличается одним ключиком
и его можно проверить вручную а можно IsDirectory https://msdn.microsoft.com/ru-ru/library/scx99850.aspx
gray_fox
What a waste!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 3
10.07.2015, 23:45     Проверка на существование папки #12
Цитата Сообщение от Supernatural Посмотреть сообщение
Линукс это лишнее, строго под винду.
Тогда смотри, что там есть в WinAPI; или <filesystem>

Добавлено через 1 минуту

Не по теме:

Цитата Сообщение от KOPOJI Посмотреть сообщение
gray_fox, работает. Смотря что от нее ожидают..
Ну тут то как бы понятно, что хотят получить)

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.07.2015, 00:10     Проверка на существование папки
Еще ссылки по теме:

Указать на существование функции C++
C++ Проверка на существование элемента по ключу. Линейные списки
C++ Как проверить существование файла?

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Геомеханик
 Аватар для Геомеханик
517 / 324 / 253
Регистрация: 26.06.2015
Сообщений: 738
11.07.2015, 00:10     Проверка на существование папки #13
Цитата Сообщение от Supernatural Посмотреть сообщение
Линукс это лишнее, строго под винду.
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <windows.h>
 
bool is_dir(const TCHAR* dir){
    DWORD flag = GetFileAttributes(dir);
    if(flag == 0xFFFFFFFFUL){
        if(GetLastError() == ERROR_FILE_NOT_FOUND)
            return false;
    }
    if(! (flag & FILE_ATTRIBUTE_DIRECTORY))
        return false;
    return true;
}
Yandex
Объявления
11.07.2015, 00:10     Проверка на существование папки
Ответ Создать тему
Опции темы

Текущее время: 14:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru