Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вывод массива "одним махом", с помощью iostream 
:(
    Опции темы
Anarki
Дата 22.12.2007, 22:24 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 326
Регистрация: 14.3.2005

Репутация: нет
Всего: 11



Вообщем нужно вывести массив данных unsigned char (byte), одним махом, но вывести нужно, чтобы показывались hex коды этих чисел.
Кусочек начала кода.
Код

// НАСТРОЙКА ВЫВОДА
    cout.setf ( ios::hex, ios::basefield );       // set hex as the basefield
    cout.setf ( ios::showbase );                  // activate showbase


Проблема в том, что флаги не срабатывают для типа char, то есть он выводит числа по ASCII таблице.

Допустим если делать так
Код

#define Idea_userKeySize 256
// ..
byte cSessionKey[Idea_userKeySize];
// ..
cout.write((const char *)cSessionKey,Idea_userKeySize);

То выводит ASCII.

Можно конечно сделать в цикле вывод
Код

cout << (int)cSessionKey[i];

Но есть ли способ короче?


--------------------
PM WWW   Вверх
chipset
Дата 23.12.2007, 11:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4071
Регистрация: 11.1.2003
Где: Seattle, US

Репутация: 2
Всего: 165



Код

vector<char> V;
V.push_back('a'); V.push_back('b'); V.push_back('c');
// ...
copy(V.begin(), V.end(), ostream_iterator<int>(cout, "\n"));

Компилиццо на MinGW.


--------------------
Цитата(Jimi Hendrix)
Well, I stand up next to a mountain
And I chop it down with the edge of my hand
PM MAIL WWW   Вверх
JackYF
Дата 23.12.2007, 12:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 6
Всего: 162



Цитата(Anarki @  22.12.2007,  22:24 Найти цитируемый пост)
cout.write((const char *)cSessionKey,Idea_userKeySize);

write - неформатированный вывод. Ему на флаги плевать, по идее.


chipset, +1.


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0469 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.