Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Win API


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / WinAPI

Выпуск № 205
от 04.03.2006, 04:27

Администратор:Калашников О.А.
В рассылке:Подписчиков: 267, Экспертов: 33
В номере:Вопросов: 1, Ответов: 2


Вопрос № 36292: Как определить размер логического диска (тома)? Беру GetDiskFreeSpace, перемножаю все кластеры на секторы и на размеры кластера, получается чтото не то. При GetDiskFreeSpaceEx появляется переполнение буфера. Подозреваю, что нужно както яв...

Вопрос № 36.292
Как определить размер логического диска (тома)?
Беру GetDiskFreeSpace, перемножаю все кластеры на секторы и на размеры кластера, получается чтото не то.
При GetDiskFreeSpaceEx появляется переполнение буфера.
Подозреваю, что нужно както явно задавать типы данных при перемножении (ставить большие вроде __int64), но где и как пока не выяснил.
Мсожет ктото решил уже эту задачу?
PS/ Расчет делается на большие диски (например, больше 100 мб).
Отправлен: 27.02.2006, 00:56
Вопрос задал: Белкин Алексей (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: X-MAN
Здравствуйте, Белкин Алексей!
Существует функция _getdiskfree()
См. приложение

Первый параметр этой функции - номер логического диска: a -1, c - 3, и т.д.

Приложение:

Ответ отправил: X-MAN (статус: 3-ий класс)
Отправлен: 27.02.2006, 02:42
Оценка за ответ: 5
Комментарий оценки:
работает !
правда мне надо не через номер, а через букву, но уже разобрался через тот же __int64 в GetDiskFreeSpace.

Отвечает: Morgion
Здравствуйте, Белкин Алексей!
Преобразуй в double и всё заработает. См приложение

Приложение:

Ответ отправил: Morgion (статус: 9-ый класс)
Отправлен: 27.02.2006, 10:25
Оценка за ответ: 4
Комментарий оценки:
Твой код выдавал такое:
Свободное - 4.491953e+002
Всего - 1.075633e+010
Что за странный формат?
Кароче, видно double тоже мало
В ULONGLONG влезло.
Задача решена.


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.16 от 01.03.2006
Яндекс Rambler's Top100

В избранное