Russian Qt Forum
Март 29, 2024, 00:10 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QFile::isOpen() == true, но файл не создаётся  (Прочитано 4208 раз)
__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



Просмотр профиля
« : Июль 23, 2015, 17:17 »

Привет друзья!
Писал одну утилитку под себя и наткнулся на такую вещь:
Код
C++ (Qt)
QFile file("C:\\file.txt");
file.open(QFile::WriteOnly);
if (file.isOpen())         // true
   ...

Оказалось, что у меня на работе доступ к диску C: закрыт. Почему же isOpen выдаёт true?
Записан
BuRn
Гость
« Ответ #1 : Июль 23, 2015, 17:49 »

Привет друзья!
Писал одну утилитку под себя и наткнулся на такую вещь:
Код
C++ (Qt)
QFile file("C:\\file.txt");
file.open(QFile::WriteOnly);
if (file.isOpen())         // true
   ...

Оказалось, что у меня на работе доступ к диску C: закрыт. Почему же isOpen выдаёт true?
Винда умнее чем кажется, ты даже если начнешь сохранять на диск С она тебе выдаст все ок, но файла не будет. Все просто, у нее какая-то виртуальная директория есть, куда он складирует файлы. Почитайте это: http://delphimaster.net/view/15-1277274062, я думаю вам поможет
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #2 : Июль 23, 2015, 17:53 »

Добавлю, что этот virtual storage сделан для совместимости с предыдущими говноверсиями винды.
Записан
__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



Просмотр профиля
« Ответ #3 : Июль 23, 2015, 18:30 »

Действительно, умно)))
Спасибо!
Записан
LisandreL
Птица говорун
*****
Offline Offline

Сообщений: 984


Надо улыбаться


Просмотр профиля
« Ответ #4 : Июль 24, 2015, 08:56 »

Вам нужен манифест с установленным requestedExecutionLevel.
http://stackoverflow.com/questions/4730053/how-to-disable-virtualstore-for-c-programs
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.122 секунд. Запросов: 22.