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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.03.2012, 21:42   #1
sanyaLIVE
 
Регистрация: 08.02.2012
Сообщений: 3
Восклицание программа изменяющая атрибуты в MS DOS

в программе для начала нужно реализовать проверку текущего атрибута файла, а потом задать нужный нам атрибут из трех :
_A_RDONLY
_A_HIDDEN
_A_ARCH
Есть начало но дальше не могу ничего придумать
Код:
#include<fcntl.h>
#include<stdio.h>
#include<dos.h>
#include<stdlib.h>
#pragma argsuset
void main(int argc, char *argv[])
{
unsigned fattr;
_dos_getfileattr(argv[1],&fattr);
_dos_setfileattr(argv[1],fattr^_A_RDONLY);
_dos_setfileattr(argv[1],fattr^_A_HIDDEN);
_dos_setfileattr(argv[1],fattr^_A_ARCH);
}

Последний раз редактировалось ACE Valery; 06.03.2012 в 22:36.
sanyaLIVE вне форума Ответить с цитированием
Старый 13.03.2012, 20:58   #2
sanyaLIVE
 
Регистрация: 08.02.2012
Сообщений: 3
По умолчанию

есть решение, но только почему то программа не совсем корректно работает.
Код:
#include<fcntl.h>
#include<stdio.h>
#include<dos.h>
#include<stdlib.h>
#include<string.h>
#pragma argsuset
void main(int argc, char *argv[])
{
unsigned fattr;
char otv[1];
_dos_getfileattr(argv[1],&fattr);
printf("Ustanovit attribut Tolko dla chtenia (y/n/p) ");
scanf("%s",&otv);

if (strcmp(otv,"y")==0)
_dos_setfileattr(argv[1],fattr|_A_RDONLY);
if (strcmp(otv,"n")==0)
_dos_setfileattr(argv[1],fattr^_A_RDONLY);



_dos_getfileattr(argv[1],&fattr);
printf("Ustanovit attribut skrituy (y/n/p) ");
scanf("%s",&otv);

if (strcmp(otv,"y")==0)
_dos_setfileattr(argv[1],fattr|_A_HIDDEN);
if (strcmp(otv,"n")==0)
_dos_setfileattr(argv[1],fattr^_A_HIDDEN);



_dos_getfileattr(argv[1],&fattr);
printf("Ustanovit attribut Arhivnuy (y/n/p) ");
scanf("%s",&otv);

if (strcmp(otv,"y")==0)
_dos_setfileattr(argv[1],fattr|_A_ARCH);
if (strcmp(otv,"n")==0)
_dos_setfileattr(argv[1],fattr^_A_ARCH);

getch();
}

Последний раз редактировалось ACE Valery; 14.03.2012 в 01:06.
sanyaLIVE вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
DOS на FASM. Программа быстро вылетает. Stilet Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 8 01.11.2016 18:44
CSS и JavaScript кнопка изменяющая фон Ast JavaScript, Ajax 1 19.12.2011 13:19
CSS и JavaScript кнопка изменяющая фон Ast HTML и CSS 0 19.12.2011 10:00
атрибуты файла DeDoK Общие вопросы Delphi 1 25.07.2010 22:10
Атрибуты файла galaid Паскаль, Turbo Pascal, PascalABC.NET 2 05.04.2009 08:58