![]() |
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]() ![]() ![]() |
|
rAccOOn |
|
|||
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 8.1.2009 Репутация: нет Всего: нет |
Здраствуйте, вот код
Вообщем при нажатии на кнопку, програма выводит список разделов, при попытке получить обьем памяти вообе, обьема свободной и обьема занятой выводит какие то не понятные числа. ![]() Подскажите кто может где я ошибаюсь и как это исправить |
|||
|
||||
jonie |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 7 Всего: 118 |
http://msdn.microsoft.com/en-us/library/aa...28VS.85%29.aspx
ULARGE_INTEGER это НЕ unsigned long тип. sizeof(long) = 4 (на x86 , впрочем и на x64 в видении майкрософта тоже 4), у вас странно что вообще не вылетает все нафиг, т.к. вы перещаписываете буфер. -------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 40 Всего: 223 |
Кстати, ваш GetDiskFreeSpaceEx всегда возвращает свободное место на диске D: (см его первый параметр). Это так и было задумано?
|
|||
|
||||
rAccOOn |
|
||||
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 8.1.2009 Репутация: нет Всего: нет |
Да, я хотел выводить пока тока диск D, п потом когда уже пойму как это делать то можна будет и поменять. Добавлено @ 18:02
Теперь же при выводе получаються вот такие значения ![]() Хотя у меня на диске D: 476937 метров общий обьем. Возможно я не так преобразовую полученые данные, но если убрать преобразование полностью то вылазиет 3 ошибки о том что при переводе могут потеряться данные. и у меня появилась мысль о том что может надо переводить не в char а в какой то другой тип, или сделать надо что то еще или наоборот что то другое. PS: спасибо за разяснение на счет типов даных Это сообщение отредактировал(а) rAccOOn - 7.10.2009, 18:03 |
||||
|
|||||
jonie |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 7 Всего: 118 |
более того, itoa НЕ работает с __int64 данными, он преобразует ваш int64 к int и получает данные (с потерями, что немудрено)... Это сообщение отредактировал(а) jonie - 7.10.2009, 18:25 -------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
rAccOOn |
|
|||
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 8.1.2009 Репутация: нет Всего: нет |
я просто не понял как его правильно использовать, и как его можна всунуть. Еси можете и вам не сложно напишите пример на одной из трех переменых. заранее спс
|
|||
|
||||
dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 27 Всего: 158 |
|
|||
|
||||
rAccOOn |
|
|||
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 8.1.2009 Репутация: нет Всего: нет |
Может для этого надо еще какую то библеотеку подключить, потому что при компиленге вылазиет ошибка
Или обьявить его как то надо было. Это сообщение отредактировал(а) rAccOOn - 8.10.2009, 09:21 |
|||
|
||||
xvr |
|
||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 40 Всего: 223 |
Угу, VS2005 называется ![]() |
||||
|
|||||
dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 27 Всего: 158 |
замени _stprintf_s на sprintf
|
|||
|
||||
rAccOOn |
|
|||
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 8.1.2009 Репутация: нет Всего: нет |
аа, я пишу прогу на Visual C++ 6.0
Добавлено через 4 минуты и 57 секунд Страно, но теперь вообще ничего не выводится. |
|||
|
||||
rAccOOn |
|
|||
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 8.1.2009 Репутация: нет Всего: нет |
а при попытке вывести значения ed1, ed2, ed3 в лист бокс, он их выводит но тоже какие то неестественые числа
на выходе получаються числа ![]() получаеться числа немного изменились но до правды далековато. Но оно работает просто как то некоректно, потому что при попытке вывести ту же инфу о дисководе или о несуществующем разделе ничего не выводит. |
|||
|
||||
xvr |
|
||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 40 Всего: 223 |
У VS (в особенности у 6й) формат печати __int64 другой -
|
||||
|
|||||
GremlinProg |
|
||||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 99 Всего: 106 |
http://msdn.microsoft.com/en-us/library/tcxf1dw6(VS.80).aspx
для беззнакового:
для знакового:
этот формат вроде бы поддерживался везде -------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
||||||
|
|||||||
rAccOOn |
|
|||
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 8.1.2009 Репутация: нет Всего: нет |
Это конечно страно но не первый метод ни второй не дал результата
Посмотрите пожалуйста, вот это полный код програмы, возможно что то мишает выводу. Или может дето чего то не хватает поэтому ничего и не выводится. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Системное программирование и WinAPI" | |
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |