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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.05.2012, 22:57   #1
Mr.BL@CK
Пользователь
 
Регистрация: 17.11.2010
Сообщений: 27
По умолчанию Определение метки тома для каждого лог.диска в системе

В общем ,есть вот такое задание

На каждом установленном в системе логическом диске определить метку тома и вывести информацию на экран в следующем формате :
Имя диска (например C: ) , метка тома

Код:
#include <stdio.h>
 #include <dir.h>
 #include <dos.h>
 #include <string.h>
 #include <stdlib.h>
 #include <conio.h>

 
void main ()
int disk , sdisk

Sdisk = getdisk // запомнить текущий
For (disk=0, disk<26, disk++);
{
setdisk (disk);
if disk = getdisk (); 
printf ("Лог диск установлен /n", disk+'A')
}

Setdisk(sdisk) ;

Вроде как хотел список дисков в системе вначале получить.

А вот функцию которая работает с меткой тома я что то не нашел.
Дальше затруднение...Подскажите пожалуйста,хоть в какую сторону думать,а то может такой функции и нету
Mr.BL@CK вне форума Ответить с цитированием
Старый 16.05.2012, 23:21   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx

http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 16.05.2012, 23:27   #3
Mr.BL@CK
Пользователь
 
Регистрация: 17.11.2010
Сообщений: 27
По умолчанию

Спасибо большое за ссылочку,но тут под форточки,а мне под Дос надо
Mr.BL@CK вне форума Ответить с цитированием
Старый 17.05.2012, 21:52   #4
Mr.BL@CK
Пользователь
 
Регистрация: 17.11.2010
Сообщений: 27
По умолчанию

Решил для начала просто найти метку тома,хотя бы одного диска.

Нечто вот такое вышло.
Код:
#include <stdio.h>
 #include <dir.h>
 #include <dos.h>
 #include <string.h>
 #include <stdlib.h>
 #include <conio.h>
 typedef struct fblk 
  {                         
   char d[21];        
   char ff_attrib;    / 
   unsigned sec:5,min:6,hour:5; 
   unsigned day:5,month:4,year:7;
   long   ff_size;
   char   ff_name[13];
  } fd;
void main()   
 {
 int sdisk, disk;
disk=getdisk(); /* Сохранение номера текущего диска */
for (disk=0;disk<26;disk++)
 {
  setdisk(disk);
  if (getdisk()==disk)
   printf("Диск %c установлен в системе;",disk+'A');
 }
   findfirst(disk,(struct ffblk*)&fblk,FA_LABEL);
      printf("%s\n",fblk.ff_name);
	  
 findnext(disk,(struct ffblk*)&fblk,FA_LABEL);   
 }
Находит.Решил теперь сделать для всех,и тут вроде бы надо сделать 1 цикл

Что то вот такое вот получилось в итоге

Код:
#include <stdio.h>
 #include <dir.h>
 #include <dos.h>
 #include <string.h>
 #include <stdlib.h>
 #include <conio.h>
 typedef struct fblk 
  {                           
   char d[21];         
   char ff_attrib;      
   unsigned sec:5,min:6,hour:5; 
   unsigned day:5,month:4,year:7;
   long   ff_size;
   char   ff_name[13];
  } fd;
 
void main( ) 
  {
 int sdisk, disk;
disk=getdisk(); /* Сохранение номера текущего диска */
for (disk=0, disk<26, disk++)
 {
  setdisk(disk);
  if (getdisk()==disk)
   printf("Диск %c установлен в системе;",disk+'A');
 }
    findfirst(disk,(struct ffblk*)&fblk,FA_LABEL);
      printf("%s\n",fblk.ff_name);
	  
 findnext(disk(struct ffblk*)&fblk,FA_LABEL);  // <<< вот тут не знаю  как именно сделать,чтобы брался следующий диск.


UPD

сделал,тему можно закрыть

Последний раз редактировалось Mr.BL@CK; 18.05.2012 в 15:57.
Mr.BL@CK вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Определение НЕ системного жесткого диска. sqr Общие вопросы Delphi 15 21.03.2012 00:54
Определение доступного диска MoHoMaXFR Microsoft Office Excel 8 24.05.2011 22:41
Определение устройства по букве диска DenisGTS Общие вопросы C/C++ 1 09.02.2011 02:28
по букве тома определить физический серийный номер накопителя, а не номер тома @лександр Помощь студентам 6 23.09.2010 15:05
Ассемблем(Серийный номер тома) для MS-DOS fastmen Помощь студентам 1 11.06.2010 18:27