Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/18: Рейтинг темы: голосов - 18, средняя оценка - 4.83
Заблокирован
1

Std::count << std::hex << (long) 0x0a; Как сделать, чтоб от HEX значения ноль при выводе не убирался?

04.04.2014, 12:25. Показов 3259. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
сабж...( std::count << std::hex << (long) 0x0a; )

выводится просто a, вместо , а надо чтоб было именно ...
куда делся setw, пишет что нет такого, в каком файле он объявлен то? Или как то по другому надо

Добавлено через 33 минуты
нет, ну можно конечно сделать так:
C++
1
2
3
4
5
6
7
8
9
10
std::fstream fs(L"out.txt", std::ios::out);     
if(fs.is_open())
{
    byte superByte = 0xdc;
    if((superByte >> 4) == 0)
        fs << std::hex << '0' << (long)superByte;
    else
        fs << std::hex << (long)superByte;
    fs.close(); ;
}
но разве по элегантней способа нет?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.04.2014, 12:25
Ответы с готовыми решениями:

std::ios::hex или std::ios.hex
привет в коде встретил вот такую строчку ss.setf(std::ios.hex, std::ios::basefield); и на...

Как узнать, находится ли std::cout в hex-режиме?
Как узнать, находится ли std::cout в hex-режиме?

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

При линковке: Undefined reference to std::count
Написал простейшую программу на c++: #include &lt;iostream&gt; void _start(){ std::cout &lt;&lt;...

3
Полярный
476 / 448 / 158
Регистрация: 11.09.2011
Сообщений: 1,156
04.04.2014, 13:17 2
Цитата Сообщение от newbie666 Посмотреть сообщение
но разве по элегантней способа нет?
Есть
C++
1
2
3
4
5
6
7
8
#include <iostream>
 
int main()
{
    int x = 123;
    std::cout << std::hex << std::showbase << x << std::endl;
    return 0;
}
Цитата Сообщение от newbie666 Посмотреть сообщение
setw, пишет что нет такого, в каком файле он объявлен то?
C++
1
#include <iomanip>
0
Почетный модератор
Эксперт С++
5850 / 2861 / 392
Регистрация: 01.11.2011
Сообщений: 6,907
04.04.2014, 13:20 3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
//---------------------------------------------------------------------------
#include <iostream>
#include <iomanip>
 
using std::cout;
using std::cin;
 
int main(int argc, char* argv[])
{
cout << std::setw(10) << std::hex << std::showbase << 0x0a;
cin.ignore();
return 0;
}
//---------------------------------------------------------------------------
Вот здесь почитать.
0
Заблокирован
04.04.2014, 14:50  [ТС] 4
Цитата Сообщение от SatanaXIII Посмотреть сообщение
1
//---------------------------------------------------------------------------
#include <iostream>
#include <iomanip>
using std::cout;
using std::cin;
int main(int argc, char* argv[])
{
cout << std::setw(10) << std::hex << std::showbase << 0x0a;
cin.ignore();
return 0;
}
//----------
Это не верно. setw вообще на это не влияет, он просто ставит ширину поля, это хорошо для вывода столбиками текста в файлик. В результате этого база то показывается, а нолик стирается - в результате 0xa

Добавлено через 2 минуты
Цитата Сообщение от dimcoder Посмотреть сообщение
#include <iostream>
int main()
{
* * int x = 123;
* * std::cout << std::hex << std::showbase << x << std::endl;
* * return 0;
}
это тоже не верно. Так же, показывает НОЛЬ и ИКС - 0х, после этого простая цифра без нолика


В общем что мне надо:
C++
1
2
3
4
byte a = 0x03;
 
// std::fstream fs(L"OUT.txt", std::ios::out);
fs << ... что то там , что б файле было [B]03[/B] (заглавными :-) )
Добавлено через 27 секунд
так что мой способ, предложенный в начале - единственно верный на данным момент
0
04.04.2014, 14:50
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.04.2014, 14:50
Помогаю со студенческими работами здесь

Как преобразовать hex в ascii (HEX редактор)
Написал: String ^in; openFileDialog1-&gt;Filter = &quot;hex Files|*.hex&quot;; openFileDialog1-&gt;Title =...

ошибка error: cannot convert 'std::string {aka std::basic_string<char>}' to 'std::string* {aka std::basic_stri
на вод поступают 2 строки типа string. определить количество вхождений строки 2 в строку 1 ошибка...

STL std::set, std::pair, std::make_pair
Я не знаю как описать тему в двух словах, поэтому не обращайте внимание на название темы....

Ошибка [Warning] non-static data member initializers only available with -std=c++11 or -std=gnu++11 при компиляции
Доброго времени суток. Компилятор выдает ошибку non-static data member initializers only...

Long hex > dec
Никак не могу понять, как перевести большое 16-ричное в 10-ричное число. Вся суть заключается в...

Ошибка terminate called after throwing an instance of 'std::bad_alloc' при работе с типом std::string
Добрый вечер, при работе функции возникает ошибка terminate called after throwing an instance...


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

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