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

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

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

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

30.11.2013, 10:40. Просмотров 372. Ответов 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,символ выводит в том же формате, адрес показывает непонятными символами вообще.
Помогите пожалуйста написать верно.
Миниатюры
Вывод адреса по указателю на char в std::cout  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.11.2013, 10:40     Вывод адреса по указателю на char в std::cout
Посмотрите здесь:
Вывод адреса символа в cout C++
Ошибка на "cout <<" no match for operator operand types are std::basic_ostream char C++
C++ Вывод двумерного статически создаваемого массива символов (char) в cout
IntelliSense: отсутствует оператор "<<", соответствующий этим операндам типы операндов: std::basic_ostream<char, std::char_traits<char> C++
Ошибка в std::cout<<std::endl C++
C++ Не работает std::cout || std::cin
C++ Вывод адреса переменной типа char
Error: ambiguous overload for 'operator<<' (operand types are 'std::ofstream {aka std::basic_ofstream<char>}' C++
C++ Error LNK2019: ссылка на неразрешенный внешний символ "class std::basic_ostream<char,struct std::
cout vs. std::cout C++
C++ std::endl; и std::cout"/n"; - одно и то же?
Std::cout<<(new class)->something(); C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
newbie666
Заблокирован
30.11.2013, 10:49     Вывод адреса по указателю на char в std::cout #2
Цитата Сообщение от mogtar Посмотреть сообщение
setw(11)<<hex<<c
сделай сперва приведение к инту здесь
<<setw(11)<<hex<<(int)c
mogtar
0 / 0 / 0
Регистрация: 08.11.2013
Сообщений: 51
30.11.2013, 10:55  [ТС]     Вывод адреса по указателю на char в std::cout #3
Цитата Сообщение от newbie666 Посмотреть сообщение
сделай сперва приведение к инту здесь
<<setw(11)<<hex<<(int)c
Спасибо, а не знаете что с адресом? я заметил такое только для char выбивает
ValeryS
Модератор
6539 / 5005 / 461
Регистрация: 14.02.2011
Сообщений: 16,647
30.11.2013, 11:01     Вывод адреса по указателю на char в std::cout #4
Цитата Сообщение от mogtar Посмотреть сообщение
Спасибо, а не знаете что с адресом? я заметил такое только для char выбивает
char переопределен для вывода символов поэтому он и адрес выдает как символы
нужно явно приводить к int
поэтому, мне лично, проще использовать printf
C++
1
printf("%c %d %x %x",c,c,c,&c);
По моему гораздо удобнее
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
30.11.2013, 13:42     Вывод адреса по указателю на char в std::cout #5
Цитата Сообщение от mogtar Посмотреть сообщение
а не знаете что с адресом? я заметил такое только для char выбивает
Чтобы увидеть, через cout <<, адрес, который содержится в указателе на char, нужно привести указатель к указателю на void.
C++
1
(void*)vc
Yandex
Объявления
30.11.2013, 13:42     Вывод адреса по указателю на char в std::cout
Ответ Создать тему
Опции темы

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