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

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

Войти
Регистрация
Восстановить пароль
 
mogtar
0 / 0 / 0
Регистрация: 08.11.2013
Сообщений: 51
#1

Вывод адреса по указателю на char в std::cout - C++

30.11.2013, 10:40. Просмотров 386. Ответов 4
Метки нет (Все метки)

Есть такая вот функция.
C++ (Qt)
1
2
3
4
5
6
7
void Char(char type[10]){
char c,*vc=&c;
cout<<setw(8); cin>>c;
cout<<type
<<setw(8)<<c
<<setw(11)<<hex<<c
<<setw(20)<<setprecision(3)<<vc<<endl;}
Не работает hex,символ выводит в том же формате, адрес показывает непонятными символами вообще.
Помогите пожалуйста написать верно.
0
Миниатюры
Вывод адреса по указателю на char в std::cout  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.11.2013, 10:40
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вывод адреса по указателю на char в std::cout (C++):

(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const& - C++
astxx::manager::connection::connection(std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, unsigned short); ...

Не воспринимает ни std::cout, ни std::cin. Вобщем ничего из std. Также не понимает iostream - C++
Здравствуйте! Я хотел начать изучать язык C++. Набрал литературы. Установил Microsoft Visual C++ 2005 Express Edition. Образ диска...

Вывод адреса символа в cout - C++
Здравствуйте. Подскажите пожалуйста в чём может быть проблема . #include&lt;iostream&gt; int main() { char z = 'M'; char* symbol =...

Ошибка на "cout <<" no match for operator operand types are std::basic_ostream char - C++
Немного слов про код.Данный код создан для выдачи номера машины,цвета,марки при предоставлении имени.Знаю,что код можно было написать проще...

ошибка в программе (cannot convert 'std::string {aka std::basic_string<char>}' to 'const char*') - C++
int main() { string fileName, currWord, currMax = &quot;&quot;; cin&gt;&gt;fileName; freopen(fileName, &quot;r&quot;, stdin); while...

В чем разница std::cout и просто cout? - C++
Ребят ,подскажите на простом языке для чайников . В чем разница std::cout и просто cout?

4
newbie666
Заблокирован
30.11.2013, 10:49 #2
Цитата Сообщение от mogtar Посмотреть сообщение
setw(11)<<hex<<c
сделай сперва приведение к инту здесь
<<setw(11)<<hex<<(int)c
1
mogtar
0 / 0 / 0
Регистрация: 08.11.2013
Сообщений: 51
30.11.2013, 10:55  [ТС] #3
Цитата Сообщение от newbie666 Посмотреть сообщение
сделай сперва приведение к инту здесь
<<setw(11)<<hex<<(int)c
Спасибо, а не знаете что с адресом? я заметил такое только для char выбивает
0
ValeryS
Модератор
6654 / 5063 / 470
Регистрация: 14.02.2011
Сообщений: 16,933
30.11.2013, 11:01 #4
Цитата Сообщение от mogtar Посмотреть сообщение
Спасибо, а не знаете что с адресом? я заметил такое только для char выбивает
char переопределен для вывода символов поэтому он и адрес выдает как символы
нужно явно приводить к int
поэтому, мне лично, проще использовать printf
C++
1
printf("%c %d %x %x",c,c,c,&c);
По моему гораздо удобнее
1
alsav22
5421 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
30.11.2013, 13:42 #5
Цитата Сообщение от mogtar Посмотреть сообщение
а не знаете что с адресом? я заметил такое только для char выбивает
Чтобы увидеть, через cout <<, адрес, который содержится в указателе на char, нужно привести указатель к указателю на void.
C++
1
(void*)vc
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.11.2013, 13:42
Привет! Вот еще темы с ответами:

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

IntelliSense: отсутствует оператор "<<", соответствующий этим операндам типы операндов: std::basic_ostream<char, std::char_traits<char> - C++
#include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; struct Stydent { std::string faculty; int rate; ...

Операция std::cout для Объекта типа std::string - C++
Кто детально объяснит почему не выводит ? Дает вот так &quot;Отсутствует оператор &quot;&lt;&lt;&quot;, соответствующий этим операндам&quot; void...

Что использовать, std::cout или просто using namespace std? - C++
Приветствую! Сейчас учу С++, постигаю азы так сказать. В арсенале две книги - Джефф Кент, &quot;Основы программирования &quot; и Х.М....


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

Или воспользуйтесь поиском по форуму:
5
Yandex
Объявления
30.11.2013, 13:42
Ответ Создать тему
Опции темы

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