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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
valpri
0 / 0 / 0
Регистрация: 08.05.2014
Сообщений: 32
#1

Хочу вывести информацию о доступном месте на диске - C++

17.05.2014, 19:37. Просмотров 539. Ответов 4
Метки нет (Все метки)

Не могу понять, что не так, ругается на структуру if и else
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
#include<windows.h>
#include<iostream>
#include<stdio.h>
#include<stdlib.h>
 
DWORD FreeBytesAvailable;   
    DWORD TotalNumberOfBytes;
    DWORD TotalNumberOfFreeBytes;
 
    BOOL GetDiskFreeSpaceFlag = GetDiskFreeSpaceEx(
    "c:\\",                  
    (PULARGE_INTEGER)&FreeBytesAvailable,    
    (PULARGE_INTEGER)&TotalNumberOfBytes,     
    (PULARGE_INTEGER)&TotalNumberOfFreeBytes  
    );
 
    if(GetDiskFreeSpaceFlag != 0) 
    {
        cout << "   Total Number Of Free Bytes = " << (unsigned long)TotalNumberOfFreeBytes 
         << "( " <<  double(unsigned long(TotalNumberOfFreeBytes))/1024/1000 
         << " Mb )" << endl;
        cout << "   Total Number Of Bytes = " << (unsigned long)TotalNumberOfBytes 
         << "( " << double(unsigned long(TotalNumberOfBytes))/1024/1000 
         << " Mb )" << endl;    
    }
    else    cout << "   Not Present (GetDiskFreeSpace)" << endl;
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.05.2014, 19:37
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Хочу вывести информацию о доступном месте на диске (C++):

Хочу научиться создавать файл в заданном месте - C++
Доброго вечера!! Подскажите как дописать путь- получается и грубо-крива и не работает. И как еще я не стёр папку с экзешником!! ...

Собрать информацию о свободном месте на системном диске каждого компьютера - PowerShell
Доброго времени суток. Подскажите что делать с такой вот ошибкой ? Задача проста - нужно написать скрипт который собирал бы инфу о...

Вывести информацию о жёстком диске - Assembler
.386 LOCALS .MODEL FLAT L EQU &lt;LARGE&gt; ; Значення параметра функції GetStdHandle STD_INPUT_HANDLE EQU -10

Вывести информацию на экран и в текстовый файл о студентах, родившихся в заданном месте - Turbo Pascal
Создайте файл записей, содержащий определенное количество записей, каждая из которых содержит: Ф.И.О., год рождения, место рождения...

.NET 4.x Вывод информации о свободном месте на диске и размере папки - C#
Подскажите пожалуйста, как в label отобразить размер указанной папки, а в другом label свободное место на указанном диске. Всем заранее...

Вывести в одной строке символы, стоящие на нечетном месте, а в другой – стоящие на четном месте - Assembler
Здрасте.Подскажите пожалуйста.Есть задание: Ввести строку символов. Вывести на одной строке символы, стоящие на нечетном месте, а на...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
AnDrew_LP
160 / 162 / 9
Регистрация: 29.05.2010
Сообщений: 435
17.05.2014, 19:39 #2
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
#include<windows.h>
#include<iostream>
#include<stdio.h>
#include<stdlib.h>
 int main()
{
DWORD FreeBytesAvailable;   
    DWORD TotalNumberOfBytes;
    DWORD TotalNumberOfFreeBytes;
 
    BOOL GetDiskFreeSpaceFlag = GetDiskFreeSpaceEx(
    "c:\\",                  
    (PULARGE_INTEGER)&FreeBytesAvailable,    
    (PULARGE_INTEGER)&TotalNumberOfBytes,     
    (PULARGE_INTEGER)&TotalNumberOfFreeBytes  
    );
 
    if(GetDiskFreeSpaceFlag != 0) 
    {
        cout << "   Total Number Of Free Bytes = " << (unsigned long)TotalNumberOfFreeBytes 
         << "( " <<  double(unsigned long(TotalNumberOfFreeBytes))/1024/1000 
         << " Mb )" << endl;
        cout << "   Total Number Of Bytes = " << (unsigned long)TotalNumberOfBytes 
         << "( " << double(unsigned long(TotalNumberOfBytes))/1024/1000 
         << " Mb )" << endl;    
    }
    else    cout << "   Not Present (GetDiskFreeSpace)" << endl;
}
valpri
0 / 0 / 0
Регистрация: 08.05.2014
Сообщений: 32
17.05.2014, 19:51  [ТС] #3
благодарю

теперь проблема с плавающей запятой "double"
не хочет работать с unsigned long
DU
1483 / 1059 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
17.05.2014, 19:57 #4
"плавающая запятая "double" не хочет работать с unsigned long" - очень информативно.
подробности описывайте. что где при каких обстоятельствах не так.
valpri
0 / 0 / 0
Регистрация: 08.05.2014
Сообщений: 32
17.05.2014, 20:10  [ТС] #5
Так, если с самого начала, то он мне почему-то выводит не правильную информацию о диске, например, что у меня на диске доступно всего 3 байт, и о свободном месте тоже выводит не правильную информацию, например :
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include<windows.h>
#include<iostream>
using namespace std;
 int main()
{
DWORD FreeBytesAvailable;
    DWORD TotalNumberOfBytes;
    DWORD TotalNumberOfFreeBytes;
    BOOL GetDiskFreeSpaceFlag = GetDiskFreeSpaceEx(
    "D:\\",
    (PULARGE_INTEGER)&FreeBytesAvailable,
    (PULARGE_INTEGER)&TotalNumberOfBytes,
    (PULARGE_INTEGER)&TotalNumberOfFreeBytes
    );
 
    if(GetDiskFreeSpaceFlag != 0)
    {
        cout << "   Total Number Of Free Bytes = " <<TotalNumberOfFreeBytes<< endl;
        cout << "   Total Number Of Bytes = " << TotalNumberOfBytes<< endl;
    }
    else    cout << "   Not Present (GetDiskFreeSpace)" << endl;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.05.2014, 20:10
Привет! Вот еще темы с ответами:

Программно получить информацию о диске - C Linux
Доброго всем дня. Есть образ, полученный путем посекторного копирования блочного устройства. Этот образ мне необходимо примонтировать...

Восстановить информацию на жестком диске - Удаление вирусов
Здравствуйте. Пару дней назад пытался активировать Win7 с помощью программы mini-KMS activator. После чего обнаружил пустой жесткий диск....

Численные методы в доступном изложении - Численные методы
Здравствуйте. Хочется разобраться в таких темах, как интерполяция, численное дифференцирование и интегрирование. Однако математика даётся...

Не работает винт: как восстановить информацию на диске? - Жесткие диски
&lt;удьте добры подсказать: имеется комп, винт Хитачи 3,5, сатовский, 1 tb. Работал как часы, проверял еще месяц назад викторией, все было...


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

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

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