0 / 0 / 0
Регистрация: 24.06.2013
Сообщений: 4
1

Вывод массива char без лишних символов

14.01.2014, 16:25. Показов 4791. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В коде имеется массив, объявленный:
char text[N];
далее в коде следует вывести значение массива на данный момент
cout << text << " = " << n << "!" << endl;
и выводится подобное что показано на картинке
т.е. значения массива в "пустых" ячейках принимают вид "кракозябр", ну а значения в виде чисел выводятся нормально
Каким образом можно вывести массив text, выводя только те ячейки, в которых содержатся числа?
Миниатюры
Вывод массива char без лишних символов  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.01.2014, 16:25
Ответы с готовыми решениями:

Проблемы с программой (вывод лишних символов из данных вне массива)
Прошу скорее помочь с программой. Выводит лишние неведомые символы. Почему это происходит мне...

Вывод двумерного статически создаваемого массива символов (char) в cout
Приветствую всех. Подскажите пожалуйста как вывести через cout в терминал двумерный, статически...

Запись объекта в файл без лишних символов
Добрый день. Изучаю запись/чтение данных в файл и столкнулся с такой проблемой. Записываю объект в...

Считать файл в массив без лишних символов
здравствуйте. нужна правильная реализация задачи: на вход подается файл, примерное содержание -...

5
224 / 219 / 77
Регистрация: 24.09.2012
Сообщений: 511
Записей в блоге: 2
14.01.2014, 17:48 2
Всё дело в том, как вы инициализируете массив char text[N]. При выделении памяти под массив вы получаете некий участок памяти, в которой может находиться мусор. Обнулите все элементы массива перед его использованием.
0
383 / 281 / 31
Регистрация: 04.09.2009
Сообщений: 1,225
14.01.2014, 18:19 3
C++
1
char text[N] { '\0', };
0
2835 / 1644 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
14.01.2014, 18:27 4
C++
1
char text[N] {};
0
383 / 281 / 31
Регистрация: 04.09.2009
Сообщений: 1,225
14.01.2014, 18:32 5
Somebody, а если массив на стеке будет? Он разве будет таким образом инициализирован нулями?
0
2835 / 1644 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
14.01.2014, 20:14 6
http://www.open-std.org/jtc1/s... /n3337.pdf
8.5.4 List-initialization [dcl.init.list]
...
3 List-initialization of an object or reference of type T is defined as follows:
...
— Otherwise, if the initializer list has no elements, the object is value-initialized.
[ Example:
int** pp {}; // initialized to null pointer
—end example ]
...
8.5 Initializers
...
7 To value-initialize an object of type T means:
— if T is a (possibly cv-qualified) class type (Clause 9) with either no default constructor (12.1) or a default constructor that is user-provided or deleted, then the object is default-initialized;
— if T is a (possibly cv-qualified) non-union class type without a user-provided or deleted default constructor, then the object is zero-initialized and, if T has a non-trivial default constructor, default-initialized;
— if T is an array type, then each element is value-initialized;
— otherwise, the object is zero-initialized.
0
14.01.2014, 20:14
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.01.2014, 20:14
Помогаю со студенческими работами здесь

Вывод лишних символов в строке
Добрый день! Мне нужно решить простую задачу на множественное наследование классов (код приведен...

Обрезание строки без лишних символов
И снова вынужден обратиться за помощью. Есть такая задача, обрезать строку до определённой длины....

Вывод на консоль лишних символов
Задание: вывести все символы до 1-го двоеточия включительно Проблема в том, что если в веденных...

Как вывести на экран числа без лишних символов
Нужно, чтобы на экране вышли цифры 1234 по ДДдос... результат на выходе 1234 + целая гора мусора......


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru