imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Компьютеры > Программирование
Опции темы
Старый 19.09.2005, 20:08     # 1
Enemy.
Newbie
 
Регистрация: 11.01.2005
Сообщения: 21

Enemy. Нуль без палочки
Чтение файла

Читаю файл известным всем образом
{
FILE *fp;
if((fp=fopen("1.txt","w"))==NULL)
{
printf("Нельзя открыть!\n");
return;
}
}
Проблема в том, что таким образом не получается открыть скрытые файлы, а очень нужно это сделать.
Enemy. вне форума  
Старый 19.09.2005, 21:07     # 2
dyr_farot
Advanced Member
 
Регистрация: 23.08.2003
Сообщения: 442

dyr_farot Нимб уже пробиваетсяdyr_farot Нимб уже пробивается
значит нужно его снять ( предварительно запомнив ); открыть; и после работы поставить атрибуты назад.
не знаю какой у тебя компилятор -- в турбо с был модуль dos.h и там были _dos_getfileattr() и _dos_setfileattr
dyr_farot вне форума  
Старый 20.09.2005, 02:57     # 3
SapeR
::VIP::
 
Регистрация: 17.12.2002
Адрес: Q-ata, Israel
Сообщения: 310

SapeR Луч света в тёмном царствеSapeR Луч света в тёмном царствеSapeR Луч света в тёмном царствеSapeR Луч света в тёмном царствеSapeR Луч света в тёмном царстве
проблемма именно в том что файл скрытый и защищённый от записи а ты открываешь fopen("1.txt","w"))

досовский код:
Код:
unsigned attrib;
_dos_getfileattr(filename,&attrib);
attrib &= ~_A_RDONLY;
attrib &= ~_A_HIDDEN;
attrib &= ~_A_SYSTEM;
_dos_setfileattr(filename,attrib);
из MFC:
Код:
enum Attribute {
   normal =    0x00,
   readOnly =  0x01,
   hidden =    0x02,
   system =    0x04,
   volume =    0x08,
   directory = 0x10,
   archive =   0x20
   };
CFileStatus status;
CFile::GetStatus( pFileName, status );
status.m_attribute &= ~readOnly;
CFile::SetStatus( pFileName, status );
SapeR вне форума  
Старый 21.09.2005, 22:46     # 4
Enemy.
Newbie
 
Регистрация: 11.01.2005
Сообщения: 21

Enemy. Нуль без палочки
Спасибо за помощь.Еще маленькая проблемка...
{
_dos_setfileattr ("d:\\1.txt",_A_NORMAL);
FILE *fp;
fp=fopen("d:\\1.txt","w");
}
После этой опирации файл стрирается как и нужно, НО не получается обратно вернуть атрибут на скрытый.А пытаюсь его вернуть аналогичным образом
_dos_setfileattr ("d:\\1.txt",_A_HIDDEN);
Enemy. вне форума  
Старый 22.09.2005, 03:06     # 5
Kuvaldum
Newbie
 
Аватар для Kuvaldum
 
Регистрация: 10.08.2005
Сообщения: 35

Kuvaldum Нуль без палочки
Так его закрыть надо сначала
Kuvaldum вне форума  
Старый 22.09.2005, 19:36     # 6
SapeR
::VIP::
 
Регистрация: 17.12.2002
Адрес: Q-ata, Israel
Сообщения: 310

SapeR Луч света в тёмном царствеSapeR Луч света в тёмном царствеSapeR Луч света в тёмном царствеSapeR Луч света в тёмном царствеSapeR Луч света в тёмном царстве
_dos_getfileattr(filename,&attrib);
attrib &= ~_A_NORMAL;
attrib &= _A_HIDDEN;
_dos_setfileattr(filename,attrib);
SapeR вне форума  
Старый 22.09.2005, 22:53     # 7
Enemy.
Newbie
 
Регистрация: 11.01.2005
Сообщения: 21

Enemy. Нуль без палочки
Спасибо Большое всем
Enemy. вне форума  


Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 00:09.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.