Форум программистов, компьютерный форум CyberForum.ru

Список файловых систем - C++

Войти
Регистрация
Восстановить пароль
 
jakewow
0 / 0 / 1
Регистрация: 22.12.2010
Сообщений: 27
05.06.2011, 16:05     Список файловых систем #1
Всем привет, нужна помощь: получить список файловых систем смонтированных на компьютере в данный момент и их параметры. Идей вообще 0.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Deviaphan
Делаю внезапно и красиво
Эксперт C++
 Аватар для Deviaphan
1285 / 1219 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
06.06.2011, 11:00     Список файловых систем #2
http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx
jakewow
0 / 0 / 1
Регистрация: 22.12.2010
Сообщений: 27
06.06.2011, 11:45  [ТС]     Список файловых систем #3
все на английском, ничего не понял
Deviaphan
Делаю внезапно и красиво
Эксперт C++
 Аватар для Deviaphan
1285 / 1219 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
06.06.2011, 11:48     Список файловых систем #4
Позволь я о тебе позабочусь.
Сперва выучи английский до уровня "со словарём", а потом уже изучай С++.

Вся свежая документация только на английском. Многие полезные статьи только на английском. Интернациональный программистский - английский.
У тебя просто нет выбора, учи английский.
translate.google.ru тебе в помощь.
voral
363 / 343 / 46
Регистрация: 16.03.2008
Сообщений: 1,737
06.06.2011, 12:15     Список файловых систем #5
Судя по фразе речь идет о *nix системе?
Если да то ссылка неподойдет ибо winapi. Вариант решения: спросить у стандартной утилиты и распарсить ее вывод.

Как вариант прочитать и рaспарсить файл /proc/mounts

Возможно будет интересно/полезно почитать о /proc например здесь: http://gentoo.theserverside.ru/book/...formation.html
Deviaphan
Делаю внезапно и красиво
Эксперт C++
 Аватар для Deviaphan
1285 / 1219 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
06.06.2011, 12:19     Список файловых систем #6
Если человек, не зная инглиша, полез на никсы... Ну, мои поздравления.)

А под виндой тоже монтирование происходит. Особенно с NTFS.
jakewow
0 / 0 / 1
Регистрация: 22.12.2010
Сообщений: 27
07.06.2011, 14:11  [ТС]     Список файловых систем #7
Цитата Сообщение от Deviaphan Посмотреть сообщение
Если человек, не зная инглиша, полез на никсы... Ну, мои поздравления.)

А под виндой тоже монтирование происходит. Особенно с NTFS.
Про инглиш зря сказал, владею я им более менее, но знаете ли сидеть со словарем чтобы переводить незнакомые слова не хотелось, думал будет другой выход. Получить список файловых систем нужно было в линуксе, загуглил, оказалось чтоб в текстовом файле в директории /etc/fstab как раз есть нужная мне информация.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
 
int podschet(char * buf)
{
  int i = 0, res = 1;
  while (buf[i] && (buf[i] != '\n'))
   if (buf[i++] == '#') res++;
  return res;
}
void kopirovanie(char * buf, char * out)
{
  int i = 0;
  while (buf[i] && (buf[i] != '#') && (buf[i] != '\n'))
  {
    out[i] = buf[i];
    i++;
  }
  out[i] = 0;
}
int main (int argc, char * argv[])
{
  FILE * fin;
  char buf[256], dl[100];
  int cnt;
  
  if ((fin = fopen("/etc/fstab", "r")) == NULL)
  {
    printf("Ошибка. Не удалось открыть файл /etc/fstab\n\n");
    exit(0);
  }
printf("Файловые системы:\n");
  while (fgets(buf, 256, fin))
  {
    if (strlen(buf) > 0)
    {
      kopirovanie(buf, buf);
      snprintf(dl, 100, "%s", buf);
     cnt = podschet(buf);
      if (cnt == 1)
    {
    printf("%s\n", dl);
     }
   
    }
  }
  fclose(fin);
}
может в дальнейшем кому-то по учебе понадобится
voral
363 / 343 / 46
Регистрация: 16.03.2008
Сообщений: 1,737
07.06.2011, 14:16     Список файловых систем #8
На уровне предположения (на 90% уверен):
в /etc/fstab только те что должны маунтится при загрузке
в /proc/mounts те которые реально подсоеденены (ведь могли примонтировать/размонтировать руками)
denix
 Аватар для denix
63 / 63 / 2
Регистрация: 11.01.2009
Сообщений: 130
07.06.2011, 14:19     Список файловых систем #9
а
Bash
1
df -a || mount
уже не спасет отца русской демократии?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.06.2011, 17:25     Список файловых систем
Еще ссылки по теме:

Поиск в бинарном файле с использованием файловых потоков C++
C++ Копирование файловых потоков
C++ Аналог strcpy, memmove но только для бинарних файловых типов fstream
C++ Найти буквы от а - я. Кодировка в файловых потоках
C++ Файловый ввод/вывод. Какие форматы файлов можно читать в файловых потоках?

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
-=ЮрА=-
Заблокирован
Автор FAQ
07.06.2011, 17:25     Список файловых систем #10
Алгоритм на мой взгляд прост: 1 - получаем список всех дисков системы
2 - Применяем к смонтированным дискам GetVolumeInformation
Чтобі не біть голословным кидаю проект, правда он служит другим целям, и инфа о диска тем всего лишь один из пунктов меню
Миниатюры
Список файловых систем  
Вложения
Тип файла: rar CdEject.rar (19.9 Кб, 37 просмотров)
Yandex
Объявления
07.06.2011, 17:25     Список файловых систем
Ответ Создать тему
Опции темы

Текущее время: 22:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru