Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Dondok
18 / 34 / 1
Регистрация: 28.01.2012
Сообщений: 181
#1

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

10.03.2012, 15:50. Просмотров 546. Ответов 7
Метки нет (Все метки)

в названии тома и в Файловой системе выводятся непонятные символы. Это по ходу связано с чаровским массивом. Как мне сделать?
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());
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.03.2012, 15:50
Здравствуйте! Я подобрал для вас темы с ответами на вопрос не выводится Массив символов (char) (C++):

Почему при выводе в поток char* выводится весь массив символов? - C++
я немогу вот в чем разобраться есть : int main() { char v = &quot;Fdasda&quot;; char *p=v; cout &lt;&lt; &quot;\np=&quot; &lt;&lt; p; cout &lt;&lt; &quot;\n*p=&quot; &lt;&lt;*p; ...

Массив символов char и указатели - C++
В общем нужно сохранить путь к диску в переменную, что бы потом использовать в _findfirst Но сколько бы я не бился над этим, ничего не...

char массив, get(), ввести больше символов чем в массиве - C++
#include &lt;iostream&gt; using std::cin; using std::cout; using std::endl; int main() { setlocale(LC_ALL,&quot;&quot;); char...

Адрес переменной char не выводится - C++
Здравствия всем, люди добрые подскажите пожалуйста, что я как обычно делаю неправильно. int x = 6; int* ptr_x = &amp;x; cout &lt;&lt;...

Двоичный дамп short и char выводится как int - C++
Доброго дня! Пытаюсь выводить двоичный дамп переменных char, short и int вот таким образом: #include &lt;iostream&gt; using namespace...

Считывание из файла в char - при выводе выводится лишнее - C++
Считываю из файла в строку типа char, если у меня в строке меньше 16 символов, то при выводе выводится какой-то мусор, наверное связано с...

7
White Luna
32 / 26 / 2
Регистрация: 08.09.2010
Сообщений: 402
10.03.2012, 16:12 #2
а может это связано с тем, что не определил для восприятия русского языка компилятор?
это вот через эту строку делается setlocale(LC_ALL,"rus_rus.1251");
0
Dondok
18 / 34 / 1
Регистрация: 28.01.2012
Сообщений: 181
10.03.2012, 16:14  [ТС] #3
White Luna, с русским языком все нормально там именно в значении чаровской переменной дело. И еще при каждом запуске выдает разные значения. Указатель как-то думаю надо ставить, только не знаю где
0
programina
1914 / 599 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
10.03.2012, 16:17 #4
Это ж WinAPI, используйте винапишные типы данных.
0
Dondok
18 / 34 / 1
Регистрация: 28.01.2012
Сообщений: 181
10.03.2012, 16:22  [ТС] #5
programina, с WinAPI все нормально. Сначала переменные объявлял в операторе if. Потом вынес за пределы и программа начала выдавать непонятные символы
0
programina
1914 / 599 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
10.03.2012, 17:04 #6
У вас функция String глючит. Не могли бы показать код этой функции
0
Dondok
18 / 34 / 1
Регистрация: 28.01.2012
Сообщений: 181
10.03.2012, 20:22  [ТС] #7
programina, String() - это стандартная функция Билдера
1
programina
1914 / 599 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
10.03.2012, 20:29 #8
Цитата Сообщение от Dondok Посмотреть сообщение
programina, String() - это стандартная функция Билдера
А я думаю, что у меня DevC++ не компилит и Google не находит. Вообщем ничем не могу помочь, спросите в разделе C++ Builder на счет этой функции
0
10.03.2012, 20:29
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.03.2012, 20:29
Привет! Вот еще темы с ответами:

При сложении переменных типа char выводится код символа - C++
Почему когда говоришь вывести символ &quot;а&quot; выводится &quot;А&quot; а когда просишь вывести &quot;а+b&quot; выводит значение 70 а не символ &quot;F&quot; с чем это...

функция возвращает массив слов, содержащихся в текстовом сообщении char* Words(char *s) - C++
Стоит такая задача: функция должна возвратить массив слов, содержащихся в текстовом сообщении char* Words(char *s) Как это можно...

Вывод переменных типа char: правильно выводится только первый символ - C++
Всем привет. Извиняюсь, если вопрос слишком уж нелепый, но не могу понять в чем суть... #include &lt;cstdio&gt; int main() { ...

Как перевести массив char[] в char* - C++
Не знаю как перевести массив char в переменную char*


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru