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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Прочитать информацию о лог. разделах диска, На С 
V
    Опции темы
Kangaroo
Дата 7.3.2009, 03:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


AA - Aussie Animal
****


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

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



Всем привет!

Необходимо на С прочитать такую информацию:
- Название  (C:, D:, etc.)
- Tип файл. системы (NTFS, FAT32)
- Размер
- Стартовый сектор, общее количество секторов.


Буду благодарен за ссылки/код/любую информацию.

P.S.
Никогда этим не занимался, но хочется помочь человеку smile


--------------------
Lost....
PM MAIL MSN   Вверх
vinter
Дата 7.3.2009, 09:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Explorer
****


Профиль
Группа: Завсегдатай
Сообщений: 2735
Регистрация: 1.4.2006
Где: Н.Новгород

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



Kangaroo, ты раздел перепутал, на чистом С этого не сделать.


--------------------
Мой блог
PM MAIL WWW   Вверх
andrew_121
Дата 7.3.2009, 17:41 (ссылка)    | (голосов:4) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


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

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



vinter, А WINAPI это не С ?


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
vinter
Дата 7.3.2009, 23:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Explorer
****


Профиль
Группа: Завсегдатай
Сообщений: 2735
Регистрация: 1.4.2006
Где: Н.Новгород

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



andrew_121, smile QT это С++ и?


--------------------
Мой блог
PM MAIL WWW   Вверх
Kangaroo
Дата 8.3.2009, 23:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


AA - Aussie Animal
****


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

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



Извиняюсь за долгий ответ, подписка на тему почему-то не работает.

Появилась новая информация. 
Это задание на изучение МБРа и таблицы разделов диска. То есть надо просто (просто ли это на С? smile ) прочитать таблицу разделов и распарсить всю требуемую информацию.
Я вот только не могу понять как тогда получить первый пункт - " Название  (C:, D:, etc.) ".

Такое можно сделать на С?






--------------------
Lost....
PM MAIL MSN   Вверх
pan2004
Дата 8.3.2009, 23:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(vinter @  7.3.2009,  09:48 Найти цитируемый пост)
на чистом С этого не сделать.

интересно, а где автор написал, что надо на чистом C?
И потом непонятно, на какой платформе это надо сделать. Win? *nix? Еще чтото?


--------------------
Qt4/C++ fan
WinXP SP3: MSVC++2005 Qt4.5.1 Boost1.39
сыграем в дурака?
PM MAIL   Вверх
Kangaroo
Дата 8.3.2009, 23:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


AA - Aussie Animal
****


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

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



Цитата(pan2004 @  8.3.2009,  23:11 Найти цитируемый пост)
Win? 

На Винде ( я думал это будет понятно по примеру - названиям раздела диска).


--------------------
Lost....
PM MAIL MSN   Вверх
vinter
Дата 9.3.2009, 00:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Explorer
****


Профиль
Группа: Завсегдатай
Сообщений: 2735
Регистрация: 1.4.2006
Где: Н.Новгород

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



Цитата(pan2004 @  9.3.2009,  00:11 Найти цитируемый пост)
интересно, а где автор написал, что надо на чистом C?

раздел форума тебе ни о чем не говорит?

Kangaroo, напиши в раздел WinAPI


--------------------
Мой блог
PM MAIL WWW   Вверх
Dmi3ev
Дата 9.3.2009, 18:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



там три справочника по АПИ на русском, советую начать с Мануал по АП, там найти GetLogicalDriveStrings, а далее сам...

Это сообщение отредактировал(а) Dmi3ev - 9.3.2009, 18:29

Присоединённый файл ( Кол-во скачиваний: 24 )
Присоединённый файл  WinAPI.rar 805,79 Kb


--------------------

PM MAIL   Вверх
andrew_121
Дата 10.3.2009, 10:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


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

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



Вот.
Код

bool get_logical_drives( std::vector<std::string>* drive_list ) {
    std::string buffer;
    std::string string;
    std::string::value_type ch;

    drive_list->clear();
    
    unsigned int size = GetLogicalDriveStringsA(0, NULL);
    if ( !size ) return false;
    
    buffer.resize(size);
    unsigned int newSize = GetLogicalDriveStringsA(size, (char*)buffer.data());

    if ( !newSize ) return false;
    if ( newSize > size ) return false;

    for ( unsigned int i = 0; i < newSize; i++ ) {
        ch = buffer.c_str()[i];
        if ( ch == '\0' ) {
            drive_list->push_back( string );
            string.clear();
        } else {
            string += ch;
        }
    }
    return drive_list->size() != 0;
}

int main() {

    std::vector<std::string> drives;
    
    bool res = get_logical_drives(&drives);
    
    if ( res && drives.size() ) {
        std::vector<std::string>::iterator iter = drives.begin();
        for ( ; iter != drives.end(); iter++ ) {
            std::cout << *iter << std::endl;
        }
    }
    
    return 0;



Это сообщение отредактировал(а) andrew_121 - 15.3.2009, 16:54


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
Kangaroo
Дата 10.3.2009, 10:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


AA - Aussie Animal
****


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

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



Всем спасибо, буду разбираться. Тему эту закрываю.


--------------------
Lost....
PM MAIL MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


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

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


 




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


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

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