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

C++

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
White Tiger
0 / 0 / 0
Регистрация: 12.02.2012
Сообщений: 40
#1

Как средствами BC 3,1 запросить свободное место на указанном жёстком диске? - C++

12.02.2012, 13:13. Просмотров 1131. Ответов 10
Метки нет (Все метки)

Извиняюсь, если создал лишнюю тему, но ничего по своей проблемке я вроде не заметил. Если что-то есть, поправьте.
А вопрос в следующем: как средствами BC 3,1 запросить свободное место на указанном жёстком диске?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.02.2012, 13:13
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как средствами BC 3,1 запросить свободное место на указанном жёстком диске? (C++):

Как посчитать сколько на указанном пользователем диске всего файлов и папок? - C++
Дело такое: нужно как-то посчитать сколько на указанном пользователе диске всего файлов и папок. CHAR NamesDIrectory; ...

Сохранение массивов указателей в файле на жёстком диске - C++
Помогите разобраться в очень важном для меня вопросе: можно ли? А если можно, то как, записать в файл массив указателей на переменные...

Не освободилось свободное место на жёстком диске после удаления файлов - Windows 7
Вчера решил скинуть танки по частям по скольку памяти на жёстком было всего 7гб, успешно сделал так 2 раза и на 3 после очередного удаления...

.NET 4.x Как зарезервировать место на жёстком диске? - C#
Допустим у меня есть фаил БД. Изначально информации в ней нет, но я знаю что в процессе работы информации будет прибавляться, от сюда...

Как зарезервировать n-ое место (GB) на жёстком диске (по моему описанию)? - Жесткие диски
описание в картинке

GetDiskFreeSpaceA, или как определить свободное место на диске - Assembler
Как написать на асемблере определения свободного места на диске? никак написать не могу(

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
CheshireCat
Эксперт С++
2892 / 1241 / 78
Регистрация: 27.05.2008
Сообщений: 3,368
12.02.2012, 13:51 #2
Думаю, что никак. По одной тривиальной причине: вот у меня винт на 500 Гбайт - это примерно 536870912000 байт. В какое число, включая unsigned long, ты сможешь записать такую величину в BC 3.1 ?
И да, это еще не самый большой современный винт.....
NoMasters
Псевдослучайный
1753 / 1096 / 72
Регистрация: 13.09.2011
Сообщений: 3,132
12.02.2012, 13:58 #3
CheshireCat,
C
1
2
//limits.h
#define LONG_MAX     9223372036854775807L
CheshireCat
Эксперт С++
2892 / 1241 / 78
Регистрация: 27.05.2008
Сообщений: 3,368
12.02.2012, 14:05 #4
:-)
NoMasters, будь любезен, покажи мне такую строчку в limits.h в BC 3.1.
retmas
Жарю без масла
859 / 741 / 164
Регистрация: 13.01.2012
Сообщений: 1,694
12.02.2012, 14:12 #5
NoMasters, я надеюсь, вы не к тому, что значение поместится в long? ибо это только на вашей машине вашим компилятором так определено.
NoMasters
Псевдослучайный
1753 / 1096 / 72
Регистрация: 13.09.2011
Сообщений: 3,132
12.02.2012, 14:16 #6
retmas, CheshireCat, да, что-то я не обратил внимания на используемый компилятор... А так int64_t наше всё, да)
OstapBender
583 / 521 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
12.02.2012, 19:30 #7
я без понятия что такое ВС 3.1,
но определить место на жестком диске можно с помощью GetDiskFreeSpace или GetDiskFreeSpaceA
http://support.microsoft.com/kb/231497
тут исчерпывающее описание
CheshireCat
Эксперт С++
2892 / 1241 / 78
Регистрация: 27.05.2008
Сообщений: 3,368
12.02.2012, 20:10 #8
BC 3.1 - это старый, как.... короче, как мамонт, компилятор, для 16-разрядной MS DOS / MS Windows 3.11. Выпущен в 1992 году.

Поэтому, разумеется, ни о каких GetDiskFreeSpace речи не идет....
White Tiger
0 / 0 / 0
Регистрация: 12.02.2012
Сообщений: 40
13.02.2012, 16:56  [ТС] #9
Как-то можно. Иии... Скажем так у меня заведомо крошечный винт. объём которого поместиться в переменную.
Это меня в универе озадачили. В челом задание звучит так:
"Разработать программы, которые позволят определять с рабочей станции клиента наличие свободного места на дисках рабочей станции сервера."
С сетевым соединением у меня проблем нет. А вот как спросить наличием свободного места на винте для меня вопрос, никогда не сталкивался.
Может немного неверно изначально вопрос сформулировал, но просто... Помоему глупо знать есть ли свободное место, надо знать сколько его. А так что смысла может там 2 кб а мы попытаемся альбом песен кинуть и всё радостно рухнет.
CheshireCat
Эксперт С++
2892 / 1241 / 78
Регистрация: 27.05.2008
Сообщений: 3,368
15.02.2012, 13:43 #10
Хм. Вообще-то, постановка задачи интересная..... я бы сказал - то ли неполная, то ли не вполне грамотная.

1. Если "с сетевым соединением проблем нет", и все это еще на BC 3.1 - так это здорово! Помнится, лет этак 17-18 назад приходилось сталкиваться с сетевыми соединениями именно на связке BC31 + Novell, так впечатление осталось ниже среднего.

2. А вот дальше у тебя - проблемы.... Ну, скажем, до сервака ты достучишься. По сети. А вот даст ли тебе удаленная машина (сервер) права доступа к физическому диску - отнюдь не факт! Скорее получится как раз наоборот - права обрежут по самые небалуйся. Плюс, для любого пользователя нормальный сервак предоставляет как правило не весь свой диск, а - ограниченную квоту.
Я бы сказал, что надо курить документацию на этот сервер и смотреть, можно ли легально (с учетом прав) запросить у него квоту.... Или это самое свободное место на дисках. Если сервер предоставляет такую функцию, и соизволит эти данные отдать клиенту - все ок. Если же нет.... сам понимаешь :-)
Ну или расспрашивать препа в универе, что именно он имел в виду....

Что касается опасений типа "мы попытаемся альбом песен кинуть и всё радостно рухнет" - не рухнет. Вероятнее всего, сервак примет несколько песен в пределах квоты дискового пространства, а потом откажет в доступе с сообщением типа "не хватает места на диске". Сам же сервак - навряд ли рухнет. Если, конечно, у админа сего сервака руки растут из правильного места :-)
White Tiger
0 / 0 / 0
Регистрация: 12.02.2012
Сообщений: 40
25.02.2012, 20:05  [ТС] #11
CheshireCat, спасиб за интересную инфу, но проблемку я уже решил. Только ты видимо слишком сложно понял. Я по идее задания должен был не попросить права доступа к винту, а просто попросить сервак самому всё сделать, а мне лишь дать ответ.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.02.2012, 20:05
Привет! Вот еще темы с ответами:

проверить свободное место на диске и создать файлик, который это место заполняет - Delphi
Помогите с прогой на Delphi/Pascal! Решил написать прогу пикол на delphi но довольно быстро попал в затруднительную ситуацию. Суть...

Требуемое место для игр на жёстком диске - Игры
Сколько нужно свободного места на жёстком диске, с горкой(чтобы наверняка), для уже установленной игры, пусть будет по самым последним...

Опера (место на жёстком диске уменьшается где-то на 400 мб ) - Windows 7
При включении оперы,после включения компьютера, место на жёстком диске уменьшается где-то на 400 мб, но после перезагрузки компа, всё место...

Пропадает свободное место на диске C - Удаление вирусов
постоянно пропадает место на диске С


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
25.02.2012, 20:05
Ответ Создать тему
Опции темы

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