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

GetVolumeInformation() - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.91
ЕкатеринаН
1 / 1 / 0
Регистрация: 16.10.2012
Сообщений: 12
12.11.2012, 08:36     GetVolumeInformation() #1
я использую функцию GetVolumeInformation(), чтоб определить файловую систему диска Е:.
почему, если я использую константу в качестве пути, она работает
C++
1
2
wchar_t FileSystemNameBuffer[100];
GetVolumeInformation(L"E:\\", NULL, NULL, NULL, NULL, NULL, FileSystemNameBuffer, 100);
а если использую переменную с тем же значением, она не работает?
C++
1
2
3
4
5
6
s[0] = 'E';
s[1] = ':';
s[2] = '\\';
wchar_t *str = s;
wchar_t FileSystemNameBuffer[100];
if (GetVolumeInformation(/*L"E:\\"*/str, NULL, NULL, NULL, NULL, NULL, FileSystemNameBuffer, 100))
Скажите, пожалуйста, что делать?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 50
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 1
12.11.2012, 08:53     GetVolumeInformation() #2
ЕкатеринаН, какой тип у массива s? Это первое. Второе - строка должна оканчиваться нулевым символом.
C++
1
s[ 3 ] = '\0';
ЕкатеринаН
1 / 1 / 0
Регистрация: 16.10.2012
Сообщений: 12
12.11.2012, 09:00  [ТС]     GetVolumeInformation() #3
wchar_t s[3];

Добавлено через 1 минуту
ееее)))) спасибо большое!!!))) все отлично!
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 50
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 1
12.11.2012, 09:03     GetVolumeInformation() #4
ЕкатеринаН, ну я думаю понятно, что нужно теперь создавать
C++
1
wchar_t s[ 4 ];
А вообще лучше чтоб этим занимался компилятор:
C++
1
wchar_t s[] = L"E:\\";
В данном случае ноль символ добавится автоматически, и размер массива будет равен 4.
ЕкатеринаН
1 / 1 / 0
Регистрация: 16.10.2012
Сообщений: 12
12.11.2012, 09:08  [ТС]     GetVolumeInformation() #5
спасибо!
Yandex
Объявления
12.11.2012, 09:08     GetVolumeInformation()
Ответ Создать тему
Опции темы

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