Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.04.2014, 02:17   #1
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию удаление файловой ссылки

Windows7

Есть жесткая ссылка на файл.

Если из командной строки вызвать del linkname
Или прописать это же в батнике - ссылка будет удалена.
Причем без всяких вопросов.

Вот нужно тоже самое, но из программы на плюсах.

Пробовал удалять при помощи:
<cstdio>
remove

boost::filesystem

system("del linkname")

Результат везде отрицательный: отказано в доступе.
В манифесте прописано: требовать права админа.
Студия запущена из под админа.
Окошка с запросом прав не появляется.


Кто нибудь сказать, что это за доступ такой?
И как его лечить?


ПРИМИЧАНИЕ:

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

Это странно... файл, покуда есть хотя бы одна ссылка должен оставаться в живых. Поэтому, вроде бы нет причин запрещать удалять ссылки на самого себя...

Последний раз редактировалось _Bers; 02.04.2014 в 02:24.
_Bers вне форума Ответить с цитированием
Старый 02.04.2014, 08:09   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Может это зависит от сборки винды?
На другой так же себя ведет программа?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 02.04.2014, 12:16   #3
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Может это зависит от сборки винды?
На другой так же себя ведет программа?
Ну, если я правильно понял те обрывки, что удалось нагуглить - то на разных виндовсах поведение различное...
_Bers вне форума Ответить с цитированием
Старый 02.04.2014, 13:23   #4
specinc
 
Регистрация: 02.04.2014
Сообщений: 3
По умолчанию

Код:
AnsiString del;
del = "C:\\123\\123.txt";
DeleteFile(del);
Вот простенький код удаления файла, а конкретно что ты там намудрил, я не пойму.
specinc вне форума Ответить с цитированием
Старый 02.04.2014, 15:57   #5
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

Цитата:
Сообщение от specinc Посмотреть сообщение
Код:
AnsiString del;
del = "C:\\123\\123.txt";
DeleteFile(del);
Вот простенький код удаления файла, а конкретно что ты там намудрил, я не пойму.
Это - борланд?

Я не использую борланд-специфик, и не имею возможности проверить, сможет ли он удалить ссылку.

Мне нужно простое кросс-платформенное решение.
_Bers вне форума Ответить с цитированием
Старый 02.04.2014, 18:23   #6
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

Цитата:
Мне нужно простое кросс-платформенное решение.
unlink .
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Драйвер файловой системы vedro-compota Общие вопросы C/C++ 2 26.01.2012 21:50
Получить имя файла из ссылки(в конце ссылки нет имени файла) Человек_Борща Работа с сетью в Delphi 11 05.06.2011 15:15
Дизайн секъюрной файловой системы wk-cof Помощь студентам 0 24.05.2010 18:02
Устройство файловой системы Alexandr-vi-92 Операционные системы общие вопросы 2 06.11.2008 08:14