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

Как узнать, сколько на дисках свободного места - C++

Восстановить пароль Регистрация
 
Ko
 Аватар для Ko
-65 / 5 / 0
Регистрация: 23.12.2011
Сообщений: 246
04.03.2014, 02:42     Как узнать, сколько на дисках свободного места #1
Пожалуйста форумчане помогите с кодом как узнать сколько на дисках свободного места, надо чтоб в консоле под windows вывело на экран программа. приведите пожалуйста код.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
04.03.2014, 04:13     Как узнать, сколько на дисках свободного места #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
void GetHardDriveInfo(LPCTSTR p)
{
    ULARGE_INTEGER FreeBytesToCaller, TotalBytes, FreeBytes;
    GetDiskFreeSpaceEx(TEXT(p), &FreeBytesToCaller, &TotalBytes, &FreeBytes);
 
    cout << TotalBytes.QuadPart << " byte"<< endl;
    cout << FreeBytesToCaller.QuadPart << " byte" << endl;
    cout << FreeBytes.QuadPart << " byte" << endl;
}
...
 
LPCTSTR p = "C:\\";
GetHardDriveInfo(p);
Ko
 Аватар для Ko
-65 / 5 / 0
Регистрация: 23.12.2011
Сообщений: 246
04.03.2014, 05:20  [ТС]     Как узнать, сколько на дисках свободного места #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 <iostream>
#include <stdio.h>
#include <windows.h>
#include <tchar.h>
#include "accctrl.h"
#include "aclapi.h"
 
void GetHardDriveInfo(LPCTSTR p)
{
    ULARGE_INTEGER FreeBytesToCaller, TotalBytes, FreeBytes;
    GetDiskFreeSpaceEx(TEXT(p), &FreeBytesToCaller, &TotalBytes, &FreeBytes);
 
    std::cout << TotalBytes.QuadPart << " byte"<< std::endl;
    std::cout << FreeBytesToCaller.QuadPart << " byte" << std::endl;
    std::cout << FreeBytes.QuadPart << " byte" << std::endl;
}
 
int main()
{
    LPCTSTR p = "C:\\";
    GetHardDriveInfo(p);
}
при компилировании выдаёт 2 ошибки
1> UseMain.cpp
1>UseMain.cpp(11): error C2065: Lp: необъявленный идентификатор
1>UseMain.cpp(20): error C2440: инициализация: невозможно преобразовать "const char [4]" в "LPCTSTR"
1> Типы, на которые указывают указатели, не связаны; для преобразования требуется reinterpret_cast, приведение в стиле С или приведение в стиле функции

Добавлено через 1 минуту
можно конечно сделать
LPCTSTR p = (LPCTSTR )"C:\\"; но это ерунда получиться скорей всего
а вторую ошибку не понятно как исправить мне редактор подчеркивает слово TEXT
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
04.03.2014, 05:52     Как узнать, сколько на дисках свободного места #4
Цитата Сообщение от Ko Посмотреть сообщение
при компилировании выдаёт 2 ошибки

Не по теме:

Что удивляет, так это какая-то детская беспомощность, пусть взрослые сделают, а мы будем только на ошибки компиляции указывать.


Я не выкладываю код, который не компилируется.
Миниатюры
Как узнать, сколько на дисках свободного места   Как узнать, сколько на дисках свободного места  
Ko
 Аватар для Ko
-65 / 5 / 0
Регистрация: 23.12.2011
Сообщений: 246
06.03.2014, 17:00  [ТС]     Как узнать, сколько на дисках свободного места #5
да что то не компилиться такой вариант, я его и до обращения на форум пробовал((( может есть ещё варианты?
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
06.03.2014, 21:33     Как узнать, сколько на дисках свободного места #6
Цитата Сообщение от Ko Посмотреть сообщение
да что то не компилиться такой вариант
В какой среде?
Ko
 Аватар для Ko
-65 / 5 / 0
Регистрация: 23.12.2011
Сообщений: 246
06.03.2014, 21:35  [ТС]     Как узнать, сколько на дисках свободного места #7
visual studio 2012-2013

Добавлено через 12 секунд
странно даже)
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
06.03.2014, 22:10     Как узнать, сколько на дисках свободного места #8
Цитата Сообщение от Ko Посмотреть сообщение
visual studio 2012-2013
В 13-й.
Миниатюры
Как узнать, сколько на дисках свободного места  
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
06.03.2014, 22:21     Как узнать, сколько на дисках свободного места #9
Юникод, в свойствах проекта, отключите.

Добавлено через 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 <iostream>
#include <stdio.h>
#include <windows.h>
#include <tchar.h>
#include "accctrl.h"
#include "aclapi.h"
 
void GetHardDriveInfo(LPCWSTR p)
{
    ULARGE_INTEGER FreeBytesToCaller, TotalBytes, FreeBytes;
    GetDiskFreeSpaceEx(p, &FreeBytesToCaller, &TotalBytes, &FreeBytes);
 
    std::cout << TotalBytes.QuadPart << " byte" << std::endl;
    std::cout << FreeBytesToCaller.QuadPart << " byte" << std::endl;
    std::cout << FreeBytes.QuadPart << " byte" << std::endl;
}
 
int main()
{
    LPCTSTR p = L"C:\\";
    GetHardDriveInfo(p);
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.03.2014, 23:31     Как узнать, сколько на дисках свободного места
Еще ссылки по теме:

C++ Как програмно узнать сколько элементов в перечислении?
C++ Как узнать в програме сколько раз числа меняются с чётного на нечётное?
Как узнать, сколько байт прочитано? C++

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

Или воспользуйтесь поиском по форуму:
Ko
 Аватар для Ko
-65 / 5 / 0
Регистрация: 23.12.2011
Сообщений: 246
06.03.2014, 23:31  [ТС]     Как узнать, сколько на дисках свободного места #10
спасибо, на другом сервере попробовал компилировать, и получилось)
Yandex
Объявления
06.03.2014, 23:31     Как узнать, сколько на дисках свободного места
Ответ Создать тему
Опции темы

Текущее время: 22:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru