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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Deryck
5 / 5 / 0
Регистрация: 01.12.2010
Сообщений: 109
#1

Определить, что открываемый файл находится в каталоге, к которому нет доступа - C++

29.02.2012, 21:06. Просмотров 970. Ответов 11
Метки нет (Все метки)

Добрый вечер, подскажите пожалуйста как определить по средствам си что открываемый в программе файл находится в каталоге, к которому у пользователя нет доступа?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.02.2012, 21:06
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Определить, что открываемый файл находится в каталоге, к которому нет доступа (C++):

Открыть файл, прочитать. Все, что находится после двоеточия перенести в другой файл - C++
Работа с текстовыми файлами Друзья, подскажите, имеется файлик *.txt в нем в строчку набор символов (разной длины), часть символов...

Определить находится ли данная точка в середине многоугольника, или нет? - C++
Какая функция будет считывать координаты вершин неправильного многоугольника, и некую точку которую будем проверять. Выводить находится ли...

Нюансы синтаксиса: как запустить программу, которая находится в каталоге Program Files? - C++
что делать когда нужно запустить программу, которая, например, находится в Program Files? а это значит, что нужны кавычки, а так...

Оповещение в приложение, к которому нет доступа - Программирование Android
Возможно ли как-то показать сообщение всем, у кого установлено приложение? Но к самому приложению, точнее, к его публикации у меня нет...

Убить процесс к которому нет доступа - C#
Есть острая вырубать одну программу, которая работает на основе вируса. Нужно как-то убить эту программу. Планирую это делать в таймере...

Создание папки в каталоге, в котором находится сам командный файл - CMD/BAT
Подскажите как прописать что бы cmd создавала папку в каталоге, в котором она сама?

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Gepar
1175 / 531 / 20
Регистрация: 01.07.2009
Сообщений: 3,517
29.02.2012, 21:34 #2
Deryck, ну если файл не открылся - значит нет доступа... или нет файла
Такие тонкости всегда узнаются уже от ос, а не от самого языка программирования.
Deryck
5 / 5 / 0
Регистрация: 01.12.2010
Сообщений: 109
29.02.2012, 21:40  [ТС] #3
может быть не совсем правильно написал. вот какое задание дословно: если файл находится в защищенном каталоге, вывести сообщение об этом и прекратить работу программу(короче exit(1)). реально ли это?
go
Эксперт C++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
29.02.2012, 22:02 #4
Есть
C
1
int stat (const char *pathname, struct stat *buf);
C
1
mode_t     st_mode;
Добавлено через 7 минут
А вообще это делается одной командой
Bash
1
2
andrey@andrey-VirtualBox:~$ stat -c %a /home/andrey/
755
Deryck
5 / 5 / 0
Регистрация: 01.12.2010
Сообщений: 109
01.03.2012, 14:14  [ТС] #5
Цитата Сообщение от go Посмотреть сообщение
Есть
C
1
int stat (const char *pathname, struct stat *buf);
C
1
mode_t     st_mode;
Добавлено через 7 минут
А вообще это делается одной командой
Bash
1
2
andrey@andrey-VirtualBox:~$ stat -c %a /home/andrey/
755
а что именно запишется в
C
1
mode_t     st_mode;
Битовая маска для информации о режиме
файла? как по этому определить, что каталог защищен? или в случае защищенного каталога функцивернет значение -1?(что то не могу найти такой инфы в гугле)

Добавлено через 42 минуты
и еще вопрос в каком заголовочном файле описана эта функция?
-=ЮрА=-
Заблокирован
Автор FAQ
01.03.2012, 14:31 #6
Цитата Сообщение от Deryck Посмотреть сообщение
Добрый вечер, подскажите пожалуйста как определить по средствам си что открываемый в программе файл находится в каталоге, к которому у пользователя нет доступа?
для NT платформы так
http://www.cyberforum.ru/visual-cpp/...ml#post2008026

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

Не по теме:

go,

Цитата Сообщение от go Посмотреть сообщение
Есть int stat (const char *pathname, struct stat *buf);
- это где есть?В MinGW или где?
Что-то такой функции ни в BorlandC ни VisualStudio ни CodeBlocks не встречал
кроме описания http://www.codenet.ru/progr/cpp/sprd/stat.php ничего толком и нету...

Deryck
5 / 5 / 0
Регистрация: 01.12.2010
Сообщений: 109
01.03.2012, 14:43  [ТС] #7
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
- это где есть?В MinGW или где?
Что-то такой функции ни в BorlandC ни VisualStudio ни CodeBlocks не встречал
кроме описания http://www.codenet.ru/progr/cpp/sprd/stat.php ничего толком и нету...
Cygwin тоже о такой функции по-моему не слышал... или я туплю

Добавлено через 6 минут
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
для NT платформы так
Защита файлов, каталогов
спасибо, но что то я ничего не понял. наверно это для меня еще рановато...
-=ЮрА=-
Заблокирован
Автор FAQ
01.03.2012, 14:51 #8
Цитата Сообщение от Deryck Посмотреть сообщение
но что то я ничего не понял.
- мы получаем доступ к событиям связанным с модификацией папки, такие же события обрабатывает и сама ОС
Deryck
5 / 5 / 0
Регистрация: 01.12.2010
Сообщений: 109
01.03.2012, 15:38  [ТС] #9
Если не сложно объясните значение вот этих строк:
C
1
2
DWORD dwWaitStatus;
HANDLE dwChangeHandles[2];
DWORD, HANDLE-это спецификаторы типа?
это точно программа не моего уровня...

Добавлено через 10 минут
Ладно, не тратьте время на объяснения... пошел читать учебники. если честно не ожидал что это так проблематично... Всем спасибо
Gepar
01.03.2012, 16:05
  #10

Не по теме:

Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
- это где есть?В MinGW или где?
Что-то такой функции ни в BorlandC ни VisualStudio ни CodeBlocks
Code::Blocks по умолчанию с minigw и поставляется же.

easybudda
Модератор
Эксперт CЭксперт С++
9530 / 5523 / 932
Регистрация: 25.07.2009
Сообщений: 10,602
01.03.2012, 16:12 #11
Цитата Сообщение от Deryck Посмотреть сообщение
Cygwin тоже о такой функции по-моему не слышал...
man 2 stat В CygWin тоже есть, работает, правда, слегка чудаковато, но есть... Вы с ОС всё-таки определитесь. Если винда, то нужно её API и пользоваться, а не адаптированными юниксовыми заморочками.
-=ЮрА=-
Заблокирован
Автор FAQ
01.03.2012, 17:37 #12

Не по теме:

Gepar, при желании компилятор CodeBlocks можно настроить хоть на 10-ку хоть на борландС, дело не в этом функции stat для NT платформы я не встречал, но тем не менее спасибо за 5 копеекЕсли что читай пост от easybudda


Цитата Сообщение от Deryck Посмотреть сообщение
Ладно, не тратьте время на объяснения... пошел читать учебники. если честно не ожидал что это так проблематично...
- По сути задания - нужен мониторинг системных событий, ну как бы это не "ПриветМир в чёрненьком окошке", поэтому и сложно
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.03.2012, 17:37
Привет! Вот еще темы с ответами:

В каталоге, где находится BAT-файл, посчитать количество текстовых файлов, созданных в 2015 году - CMD/BAT
Здравствуйте, форумчане! Задали такую задачу:"В каталоге, где находится бат-файл, посчитать количество текстовых файлов созданных в 2015...

Определить количество файлов или подкаталогов в корневом каталоге, с полными правами доступа - Bash
3) Определить количество файлов или подкаталогов в корневом каталоге, к которым все имеют полные права доступа

Windows XP нет доступа к сети, нет доступа к Norton антивирус, сетевых служб нет - Удаление вирусов
Отключился Инет, попробовал загрузить сетевые подключения - нет ни одной иконки. Загрузился с Ubuntu проверил clamav (базы обновлены)...

Как узнать, что файл, к которому обращается программа на Delphi, не занят другой программой? - Delphi
Ситуация следующая- Есть две программы, которые обращаются к одному текстовому файлу, одна из программ, написана на Delphi. Вопрос-как...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
01.03.2012, 17:37
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru