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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Защита от записи на диск 
V
    Опции темы
Демидрол
Дата 7.6.2008, 14:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Помогите пожалуйста решить проблему с проверкой флешки на затщиту от записи.
Не догоняю,как сделать такую проверку.
 smile 
PM MAIL   Вверх
bronislav
Дата 7.6.2008, 18:22 (ссылка) |    (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Т.е.?
Форумные телепаты ушли в отпуск.
Конкретнее сформулируй вопрос.


--------------------
user posted image
иногда проще и быстрей обойти лужу, даже если кажется что она мелкая и путь напрямик короче - ведь она может скрывать открытый люк (с) mes
PM MAIL   Вверх
chipset
Дата 7.6.2008, 21:18 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4071
Регистрация: 11.1.2003
Где: Seattle, US

Репутация: 27
Всего: 165



Попробуй записать туда что-то и если не получится -- значит она защищена  smile 


--------------------
Цитата(Jimi Hendrix)
Well, I stand up next to a mountain
And I chop it down with the edge of my hand
PM MAIL WWW   Вверх
Демидрол
Дата 9.6.2008, 09:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



идея в том,чтобы вставить флешку в комп и,если она не защищена от записи,автоматически скопировать на ней кое-какую инфу.
Бред,на самом деле,потому как если попробовать копировать на нее и она будет защищена от записи,то можно просто вывести сообщение об ошибке. Но, блин, начальство требует, чтобы можно было отдельно проверить флеху на  защиту от записи.  smile

Добавлено через 3 минуты и 30 секунд
Цитата(chipset @ 7.6.2008,  21:18)
Попробуй записать туда что-то и если не получится -- значит она защищена  smile

просто поймать сообщение об ошибке, если она защищена,а если нет, то потом скопированный файл просто удалить?
Туплю,но какой файл копировать? Ведь х.з., что там на компе есть.... smile 
PM MAIL   Вверх
jonie
Дата 9.6.2008, 12:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



главное в этом деле не малочиться. писать предлагаю pagefile.sys он точно есть  smile 


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


Эксперт
****


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

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



Цитата(Демидрол @ 9.6.2008,  09:08)
просто поймать сообщение об ошибке, если она защищена,а если нет, то потом скопированный файл просто удалить?
Туплю,но какой файл копировать? Ведь х.з., что там на компе есть.... smile

 smile 
Зачем что-то копировать? Просто попробуй создать файл со случайным именем. Если функция open (fopen) не вернет ошибку, то флешка без защиты от записи, то тебе останется только стереть его (unlink).
PM   Вверх
Демидрол
Дата 9.6.2008, 13:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



простите пожалуйста за ОЧЕНЬ глупый вопрос, но вразумительного про создание файла я нашел много,только как прописать путь,допустим, "c:\\", не попалось на глаза. Помогите кодом, если можно.
 smile 
PM MAIL   Вверх
rrrFer
Дата 9.6.2008, 14:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Демидрол, 
Цитата(Демидрол @  9.6.2008,  13:47 Найти цитируемый пост)
простите пожалуйста за ОЧЕНЬ глупый вопрос, но вразумительного про создание файла я нашел много,только как прописать путь,допустим, "c:\\", не попалось на глаза. Помогите кодом, если можно.

FILE *f=fopen("D:\\file_name","w");

PM MAIL WWW ICQ   Вверх
Демидрол
Дата 9.6.2008, 14:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Всем большое СПАСИБО за помощь,очень помогли в тупую минуту.
Отдельное спс bsa за идею rrrFer за рализацию. smile 
PM MAIL   Вверх
yurik_l
Дата 9.6.2008, 15:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


тарантиноман



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

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



А что, если через GetDiskFreeSpaceEx получить свободное место на флешке. Если флешка защищена от записи, то функция скорее всего вернет нуль. С двд и сд, например, это проходит.
PM MAIL   Вверх
rrrFer
Дата 9.6.2008, 15:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



yurik_l, 
Цитата

А что, если через GetDiskFreeSpaceEx получить свободное место на флешке. Если флешка защищена от записи, то функция скорее всего вернет нуль. С двд и сд, например, это проходит.

я думаю, что нуль она не вернет, потому что защита стоит лишь от записи
PM MAIL WWW ICQ   Вверх
Демидрол
Дата 10.6.2008, 14:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Такой вопрос по ходу возник:
если файл создавать с помощью open(FileName,O_CREATE), то что возвратит open в случае,если файл не был создан?Отрицательное или нулевое значение?

Это сообщение отредактировал(а) Демидрол - 10.6.2008, 15:30
PM MAIL   Вверх
rrrFer
Дата 10.6.2008, 16:35 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Демидрол, 
так:
Код

fstream file("name.txtx",ios::in|ios::out); //вызвал конструктор - создал файл, если файла не было
if(!file)    //если не удалось создать
    cout<<"error open file"<<endl;

------
аналогично и open наверно работает
------
выше вроде бы про fopen писали, тогда так:
Код

FILE *file;
if (NULL == (file = fopen ("name.txt", "rw")))
    cout<<"error open file"<<endl;

------
Цитата

что возвратит open в случае,если файл не был создан?Отрицательное или нулевое значение?

нетрудно провести эксперимент кстати smile

Это сообщение отредактировал(а) rrrFer - 10.6.2008, 16:40
PM MAIL WWW ICQ   Вверх
bsa
Дата 10.6.2008, 18:17 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Демидрол
Цитата(man 3 open)
RETURN VALUE
       open()  and  creat()  return the new file descriptor, or -1 if an error
       occurred (in which case, errno is set appropriately).


rrrFerА посмотреть лень было? Open работает совершенно подругому. Более того, open - это функция, а fstream - это класс.
PM   Вверх
rrrFer
Дата 10.6.2008, 19:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



bsa, 
Цитата

rrrFerА посмотреть лень было?

конечно лень.
Цитата

Более того, open - это функция, а fstream - это класс.

я и не утвержал обратное, читайте внимательно:
Цитата

fstream file("name.txtx",ios::in|ios::out); //вызвал конструктор - создал файл, если файла не было

а конструктор - это функция
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

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

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


 




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


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

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