1. Пользуйтесь тегами кода. - [code] ... [/code] 2. Точно указывайте язык, название и версию компилятора (интерпретатора). 3. Название темы должно быть информативным. В описании темы указываем язык!!!
Требуется определить свободное место на диске.. Сначала хочу получить список всех дисков в системе, чтобы потом для каждого применить функцию GetDiskFreeSpaceEx().. Как раз проблема с получением дисков..
GetLogicalDriveStrings(MAX_PATH_SIZE,drive) возвращает 16.. В итоге получают в drive только C:\...ну а ещё в системе есть D и E.. Объясните пожалуйста, я в чём-то не права?
Опять VC++ ... И Борланд С++ 2009 и GCC работают прекрасно (причем CodeGuard молчит как рыба, ничего не замечает... Так же как и CodeProfiler). Может, VC хочет
wchar_t Drives[4] = {0};
, чтобы поместить в Drives и три символа, и нуль-терминатор?
, чтобы поместить в Drives и три символа, и нуль-терминатор?
Да, действительно! Спасибо! Ну а теперь что касается получения информации о дисковом пространстве.. У меня на ListBox есть список дисков, выделяю любую строку - по нажатию соответствующей кнопки на Edit должна выводиться информация по выбранному диску..Проблема в том, что не получается вывести значение параметров, содержащих общее кол-во байт на диске и количество свободных байт..
wchar_t szBuf[256]={},szStr[256]={}; ULARGE_INTEGER TotalNumberOfBytes; ULARGE_INTEGER TotalNumberOfFreeBytes; int nSelected = SendMessage(hListBox,LB_GETCURSEL,0,0); SendMessage(hListBox,LB_GETTEXT,nSelected,(LPARAM)szBuf); GetDiskFreeSpaceEx(szBuf,NULL,&TotalNumberOfBytes,&TotalNumberOfFreeBytes); SendMessage(hEditTotal,WM_SETTEXT, 0,(LPARAM)(LPCSTR)TotalNumberOfBytes/1024); //<-- error C2440:'type cast' : cannot convert from 'ULARGE_INTEGER' to 'LPCSTR' //SendMessage(hEditFree,WM_SETTEXT, 0, (LPARAM)(LPCSTR)TotalNumberOfFreeBytes/1024);