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

не выводится Массив символов (char) - C++

Восстановить пароль Регистрация
 
Dondok
18 / 34 / 1
Регистрация: 28.01.2012
Сообщений: 181
10.03.2012, 15:50     не выводится Массив символов (char) #1
в названии тома и в Файловой системе выводятся непонятные символы. Это по ходу связано с чаровским массивом. Как мне сделать?
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
char charRootPath[10];
bool bHave;
UINT dt;
char VolumeName[50];
char FSName[50];
AnsiString word;
int freesize,totalsize;
for (charRootPath[0] = TEXT('C'); charRootPath[0] <= TEXT('Z'); charRootPath[0]++)
        {
        charRootPath[1] = TEXT(':');
        dt = GetDriveType(charRootPath);
        if (dt == DRIVE_REMOVABLE)
                   {
                   bHave = TRUE; 
                   break;
                   }
        else bHave = FALSE;
        }
if (bHave==true)
        {
        GetVolumeInformation(charRootPath, VolumeName, 50, NULL, NULL, NULL, FSName, 50);
        char m_csFlashName[50];
        word = AnsiString(charRootPath)+"\\";
        DWORD  SecPerClaster, BytesPerSec, NumFreeClaster, TotalNumClaster;
        GetDiskFreeSpace(word.c_str(), &SecPerClaster, &BytesPerSec, &NumFreeClaster, &TotalNumClaster);
        freesize= (SecPerClaster * BytesPerSec * NumFreeClaster)/1024/1024;
        totalsize = (SecPerClaster * BytesPerSec * TotalNumClaster)/1024/1024;
        if (VolumeName[0]==' ') strcpy(VolumeName, "NONAME");
        m_csFlashName[0] = VolumeName[0];
        }
ShowMessage("Название тома: " + String(VolumeName) + "\nПуть к USB: "+String(word)+"\nФайловая система: "+String(FSName)+"\nОбъем памяти: "+String(totalsize)+"Мб\nОбъем свободной памяти: "+String(freesize)+"Мб\n"+String());
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
White Luna
 Аватар для White Luna
32 / 26 / 2
Регистрация: 08.09.2010
Сообщений: 402
10.03.2012, 16:12     не выводится Массив символов (char) #2
а может это связано с тем, что не определил для восприятия русского языка компилятор?
это вот через эту строку делается setlocale(LC_ALL,"rus_rus.1251");
Dondok
18 / 34 / 1
Регистрация: 28.01.2012
Сообщений: 181
10.03.2012, 16:14  [ТС]     не выводится Массив символов (char) #3
White Luna, с русским языком все нормально там именно в значении чаровской переменной дело. И еще при каждом запуске выдает разные значения. Указатель как-то думаю надо ставить, только не знаю где
programina
 Аватар для programina
1912 / 597 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
10.03.2012, 16:17     не выводится Массив символов (char) #4
Это ж WinAPI, используйте винапишные типы данных.
Dondok
18 / 34 / 1
Регистрация: 28.01.2012
Сообщений: 181
10.03.2012, 16:22  [ТС]     не выводится Массив символов (char) #5
programina, с WinAPI все нормально. Сначала переменные объявлял в операторе if. Потом вынес за пределы и программа начала выдавать непонятные символы
programina
 Аватар для programina
1912 / 597 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
10.03.2012, 17:04     не выводится Массив символов (char) #6
У вас функция String глючит. Не могли бы показать код этой функции
Dondok
18 / 34 / 1
Регистрация: 28.01.2012
Сообщений: 181
10.03.2012, 20:22  [ТС]     не выводится Массив символов (char) #7
programina, String() - это стандартная функция Билдера
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.03.2012, 20:29     не выводится Массив символов (char)
Еще ссылки по теме:

char массив, get(), ввести больше символов чем в массиве C++
Вывод переменных типа char: правильно выводится только первый символ C++
Массив char в переменную char C++

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

Или воспользуйтесь поиском по форуму:
programina
 Аватар для programina
1912 / 597 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
10.03.2012, 20:29     не выводится Массив символов (char) #8
Цитата Сообщение от Dondok Посмотреть сообщение
programina, String() - это стандартная функция Билдера
А я думаю, что у меня DevC++ не компилит и Google не находит. Вообщем ничем не могу помочь, спросите в разделе C++ Builder на счет этой функции
Yandex
Объявления
10.03.2012, 20:29     не выводится Массив символов (char)
Ответ Создать тему
Опции темы

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