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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.77
ElvenDragon
3 / 8 / 1
Регистрация: 12.07.2009
Сообщений: 361
#1

Непонятные символы при выводе - C++

09.07.2011, 09:45. Просмотров 1770. Ответов 3
Метки нет (Все метки)

Я уже такую фигню много раз наблюдал типа если не поставить '\0' или убрать при выводе какие то непонятные символы идут от пример.

C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
using namespace std;
 
 
 
int main() {
  char t[2] = {'l','z'};
  cout << t;
  return 0;
}
Вопрос откуда и зачем они появляются?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.07.2011, 09:45     Непонятные символы при выводе
Посмотрите здесь:

Непонятные символы при выводе русских символов в консоли - C++
Доброго времени суток, у меня возникла проблема. Когда я ввожу текст с клавиатуры, при выводе его на экран выводит непонятные символы....

Непонятные цифры при выводе - C++
Делаю задачу по структурам. В условии задачи есть пункт, где нужно реализовать вывод данных. То есть, я записал через структуру, например,...

При выводе динамической матрицы выводятся непонятные цифры - C++
данная программа считает суммы строк двумерного массива. но при выводе массива, который хранит их выводятся непонятные цифры( как я...

Непонятные символы при записи в файл - C++
Доброго времени суток. Вот снова прошу о помощи гуру программирования. Код еще не дописан, но возникли большущие проблемы с работой с...

Непонятные символы при запуске программы на dev c++ - C++
Запустил программу,а все символы отображаются в таком виде. Как это исправить?

При работе с программой выдает не результат, а какие то непонятные символы - C++
Вот скриншот: Собственно что это и как убрать ?

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nameless
Эксперт C++
334 / 298 / 14
Регистрация: 16.06.2009
Сообщений: 486
09.07.2011, 09:52     Непонятные символы при выводе #2
ElvenDragon,

Цитата Сообщение от ElvenDragon Посмотреть сообщение
Вопрос откуда и зачем они появляются?
Вы пытаетесь вывести t как строку, хотя t у вас - массив символов, тогда уж так :

C++
1
char t[] = {'l','z','\0'};
ElvenDragon
3 / 8 / 1
Регистрация: 12.07.2009
Сообщений: 361
09.07.2011, 10:11  [ТС]     Непонятные символы при выводе #3
Цитата Сообщение от nameless Посмотреть сообщение
ElvenDragon,



Вы пытаетесь вывести t как строку, хотя t у вас - массив символов, тогда уж так :

C++
1
char t[] = {'l','z','\0'};
Я знаю такой приём мне просто интересно, а почему массив не может быть без завершающего нуля?
Моя версия хотя я сам не знаю. Или он как то связан с сегментом данных где есть другие символы ,а завершающий ноль блокирует их.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.07.2011, 10:21     Непонятные символы при выводе
Еще ссылки по теме:

Лишние символы при выводе строк - C++
При создании игрового поля для тетриса (вывод строк, в соответствии с заданным алгоритмом) возникает странная ошибка. Вместо, собственно,...

Почему при попытки считывания выдаёт какие-то непонятные символы, а не те, которые требовались? - C++
#include &lt;cstdio&gt; #include &lt;iostream&gt; using std::cout; using std::cin; using std::endl; int main () { double...

Русские символы при выводе массива структуры - C++
Добрый вечер. Проблема такая: есть структура, в которой присутствует поле lastname типа char, при выводе которого в консоле вместо...

Добавляются лишние символы при выводе данных в поток - C++
Есть char buff; куда пишутся данные с сети. вывожу на печать: cout &lt;&lt;&quot;IMEI- &quot; &lt;&lt; &quot;--&quot; &lt;&lt; buff&lt;&lt;buff&lt;&lt;buff ...


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

Или воспользуйтесь поиском по форуму:
nameless
Эксперт C++
334 / 298 / 14
Регистрация: 16.06.2009
Сообщений: 486
09.07.2011, 10:21     Непонятные символы при выводе #4
Цитата Сообщение от ElvenDragon Посмотреть сообщение
Я знаю такой приём мне просто интересно, а почему массив не может быть без завершающего нуля?
Моя версия хотя я сам не знаю. Или он как то связан с сегментом данных где есть другие символы ,а завершающий ноль блокирует их.
Ну в принципе так и есть если пытаться вывести массив символов (без '\0') как строку, то возможно появление различного мусора, который мог остаться после использования памяти, чтобы этого не произошло мы помечаем конец строки '\0' и все хорошо..
Yandex
Объявления
09.07.2011, 10:21     Непонятные символы при выводе
Ответ Создать тему
Опции темы

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