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

Получение размера диска - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Считывание файла с CD-ROM c миганием лампочки http://www.cyberforum.ru/cpp-beginners/thread489847.html
Попросили меня написать программу, которая постоянно читает один и тот же файл с CD-ROM до нажатия определенной клавиши. При этом нужно сделать так, чтобы лампочка CD-ROM при чтении файла мигала. Файл размером 3 Мб. Я написал простое консольное приложение (считывание файла 2 раза) с функцией int read_file_с(const char *file_name, const int buf_size) { FILE *file_in; int i, nmax=2;...
C++ Как скопировать файл из одной папки в другую? Люди, помогите!!! Как скопировать файл из одной папки в другую? Только построчно или есть какая-то функция? Еще заморочка - этой файл во время копирования обрабатывается другой прожкой, которую нельзя останавливать. Что делать????? http://www.cyberforum.ru/cpp-beginners/thread489830.html
Когда закрывать описатель созданного потока? C++
Можно ли после создания потока сразу же закрывать его описатель: HANDLE hThread = (HANDLE)_beginthreadex(...); CloseHandle(hThread); ? И вообще, когда закрывать описатель созданного потока, если неизвестно заранее когда он прекратит работу?
Буферы устройств, Windows 2k-XP и управление ими C++
Вопрос 1: Как я понял из литературы, у устройств, например HDD и CDROM, есть внутренние буферы. Управление буферами устройств, видимо, возможно через регистры. Есть ли какие-нибудь универсальные утилиты, которые позволяют управлять размерами внутренних буферов устройств? Вопрос 2: Как я понял из литературы, Windows для осуществления операций ввода-вывода создает в оперативной (виртуальной...
C++ Вывод символов выше 127 (математические, немецкие и т.п) http://www.cyberforum.ru/cpp-beginners/thread489616.html
Вообщем такая вот трабла. Надо выводить символы выше 127 (математические, немецкие и т.п) Как, как это делается в VC++... Плиз кто что знает, скажите .... Заранее спасибо!
C++ Как по клавише прекратить (приостановить) запись в файл? Консольное приложение VC6. Есть функция записи в файл. Данные пишутся в цикле: while(i < file_size) { fputs(buffer,file_out); i=i+buf_size; } Хотелось бы, чтобы при нажатии ESC прерывалась запись файла, а при нажатии клавиши 'пробел' возникала бы пауза в записи файла на заданное время. Когда в цикл помещаю код для реализации выхода по ESC char ch = getch(); if(ch==27) подробнее

Показать сообщение отдельно
MaD1
Сообщений: n/a
08.11.2010, 16:55     Получение размера диска
Здравствуйте, делаю вот что:

у меня 2 раздела - C: и D:, так вот он размер C: определяет верно,
а размер D: (он намного больше) вообще не определяет
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
char *info='', buffer[501]='';
    UINT drive=0;
    DWORD 
        lpSectorsPerCluster,
        lpBytesPerSector, 
        lpNumberOfFreeClusters, 
        lpTotalNumberOfClusters;
 
    for(unsigned int i=65; i!=91; i++)
    {
        buffer[0] = i;
        buffer[1] = ':'
        buffer[2] = ''
 
        drive = GetDriveType(buffer);
        
        if(drive == DRIVE_FIXED)
        {
            lstrcat(info, 'Диск ');
            lstrcat(info, buffer);
            lstrcat(info, ' не съемный, размер: ');
fixed:
            GetDiskFreeSpace(buffer, &lpSectorsPerCluster, &lpBytesPerSector, &lpNumberOfFreeClusters, &lpTotalNumberOfClusters);
            ltoa(lpTotalNumberOfClusters*lpSectorsPerCluster*lpBytesPerSector/1024/1024, buffer, 10);
            lstrcat(info, buffer);  
            lstrcat(info, ' МБ, свободно: ');   
            ltoa(lpNumberOfFreeClusters*lpSectorsPerCluster*lpBytesPerSector/1024/1024, buffer, 10);
            lstrcat(info, buffer);  
            lstrcat(info, 'МБ
');
        }else if(drive == DRIVE_REMOVABLE)
        {
            lstrcat(info, 'Диск ');
            lstrcat(info, buffer);
            lstrcat(info, ' съемный');
            lstrcat(info, '
');
        }else if(drive == DRIVE_REMOTE)
        {
            lstrcat(info, 'Диск ');
            lstrcat(info, buffer);
            lstrcat(info, ' удаленный, размер: ');
            goto fixed;
        }
 
    }
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 02:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru